Вопрос или проблема
Я вижу, что wp-includes/certificates/ca-bundle.crt
был последний раз обновлен в 2020 году.
https://curl.se/docs/caextract.html с тех пор была реализована многочисленные обновления.
Могу ли я перезаписать ca-bundle.crt
в WP?
Могу ли я перезаписать
ca-bundle.crt
в WP?
Нет.
Этот файл и любые другие файлы в папке wp-includes
никогда не должны обновляться, изменяться или редактироваться, если только это не замена их на новую версию WordPress.
Если вы решите проигнорировать это и вручную обновить файл, есть несколько последствий:
- на управляемых хостингах это не сработает, так как ядро WordPress обрабатывается отдельно и может не находиться на той же файловой системе и быть доступным только для чтения. Аналогично, многие корпоративные хостинги защищают эти папки другими более структурными средствами.
- файл больше не будет соответствовать хешу файла, записанному для вашей версии WordPress, любой плагин безопасности немедленно это отметит.
- он будет перезаписан при обновлении, возможно, даже при каждом развертывании.
- вы потеряете некоторые специфические для WordPress изменения, обеспечивающие обратную совместимость:
## Включает изменение WordPress - Мы включаем 'наследственные' 1024-битные сертификаты. ## для обратной совместимости. См. https://core.trac.wordpress.org/ticket/34935#comment:10
Важно, однако, что ваша система может вообще не использовать этот пакет сертификатов! Это в оригинальном наборе изменений, который его ввел:
Этот набор изменений также включает ca-bundle.crt из проекта Mozilla, чтобы позволить нам проверять SSL-сертификаты на хостах с неполной, устаревшей или недействительной локальной конфигурацией SSL.
Вместо того чтобы обновлять его на вашем хосте, вы можете рассмотреть возможность внесения обновления в сам WordPress с целью следующей основной версии (6.7 находится в бета-тестировании на момент написания). Вот история https://github.com/WordPress/WordPress/commits/master/wp-includes/certificates/ca-bundle.crt
Обычный совет здесь – Не обновляйте основные файлы, так как любое обновление WordPress может перезаписать ваши изменения и уничтожить что-то, что вы сделали.
wp-includes/certificates/ca-bundle.crt
используется классом WP_Http
; любые изменения в файле сертификатов могут повлиять на то, как работает этот класс — и любой класс, который на него опирается.
Согласно комментариям в заголовке wp-includes/certificates/ca-bundle.crt
:
## Данные сертификата от Mozilla на: Ср, 22 июля 2020 г. 03:12:14 GMT
## Включает изменение WordPress – Мы включаем ‘наследственные’ 1024-битные сертификаты
## для обратной совместимости. См. https://core.trac.wordpress.org/ticket/34935#comment:10
Соответствующий тикет в Core Trac
Похоже, что WordPress добавил эти сертификаты обратно после того, как их удалил Mozilla:
- GTE CyberTrust Global Root
- Thawte Server CA
- Thawte Premium Server CA
- Verisign Class 3 Public Primary Certification Authority
- Verisign Class 3 Public Primary Certification Authority – G2
- ValiCert Class 1 VA
- ValiCert Class 2 VA
- ValiCert Class 3 VA (ошибочно названный RSA Root Certificate 1)
- Entrust.net Secure Server CA
- Equifax Secure Global eBusiness CA
- Equifax Secure eBusiness CA 1
- NetLock Business (Class B) Root
- NetLock Express (Class C) Root
- Verisign Class 3 Public Primary Certification Authority
Ответ или решение
Обновление файла wp-includes/certificates/ca-bundle.crt
вручную не рекомендуется и может привести к нежелательным последствиям. Хотя файл был последний раз обновлён в 2020 году, его изменение может повлечь за собой следующие риски:
-
Проблемы с совместимостью: В WordPress есть конкретные модификации для обеспечения обратной совместимости, включая сертификаты, которые были добавлены после изменений Mozilla. Если вы обновите этот файл, вы можете потерять эти изменения, что может повлиять на работу некоторых функций, зависящих от
WP_Http
. -
Безопасность и целостность: Внесение изменений в файлы ядра WordPress, такие как
ca-bundle.crt
, может привести к тому, что хеш-код файла будет не соответствовать ожиданиям системы. Это может вызвать тревогу у плагинов безопасности, которые будут сигнализировать о том, что файл был изменён. -
Перезапись файла при обновлениях: Если вы вручную измените этот файл, ваши изменения будут потеряны при следующем обновлении WordPress. Таким образом, вам придётся снова и снова вносить изменения, что неэффективно.
-
Ограничения на управляемых хостингах: На многих управляемых хостингах файлы ядра могут быть защищены от изменений, и любое ваше вмешательство может просто не сработать.
Лучшей практикой является обдумать возможность внесения изменений в сам WordPress, возможно, через публикацию своего обновления, если вы считаете, что это необходимо. Вы можете ознакомиться с историей изменений файла ca-bundle.crt
здесь.
В заключение, настоятельно рекомендуется не изменять файлы ядра WordPress вручную, включая wp-includes/certificates/ca-bundle.crt
, так как это может привести к множеству проблем и нарушений в работе вашего сайта.