[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"/ru/kb/faq/hosting/ustanovka-sertifikata-mincifry-dlya-sajtaKbData":3},{"page":4,"pages":168,"recommendedPages":169,"category":75,"categoryTree":75,"total":16,"currentOrder":197,"activeManualCategoryId":75,"tag":-1},{"route":5,"uuid":8,"title":9,"excerpt":10,"content":11,"view_count":12,"published_at":13,"modified_at":14,"like":15,"category":18,"hero_image":71,"seo_metadata":72,"schema_org_metadata":73,"open_graph_metadata":76,"sections":77,"tags":151,"breadcrumbs":152,"images":159},{"language":6,"path":7},"ru","/kb/faq/hosting/ustanovka-sertifikata-mincifry-dlya-sajta","7a1601ff-c76b-a2c6-8071-d059791ad0d2","Установка корневого сертификата НУЦ Минцифры для сайтов на виртуальном хостинге","Российский национальный сертификат безопасности (сертификат Минцифры, он же “сертификат НУЦ Минцифры” или “Russian Trusted Root CA”) используется для установки защищенного соединения с российскими сервисами, которые перешли на отечественные SSL-сертификаты – например, платежными шлюзами банков ( Сбербанка, Т-Банка, Альфа-Банка) и государственными системами.","\n\u003Cp>Российский национальный сертификат безопасности (сертификат Минцифры, он же “сертификат НУЦ Минцифры” или “Russian Trusted Root CA”) используется для установки защищенного соединения с российскими сервисами, которые перешли на отечественные SSL-сертификаты – например, платежными шлюзами банков ( Сбербанка, Т-Банка, Альфа-Банка) и государственными системами.\u003C/p>\n\n\n\n\u003Cp>По умолчанию стандартный набор корневых сертификатов на хостинге не содержит сертификат Минцифры, поэтому при обращении сайта к таким сервисам через cURL или похожие библиотеки PHP может возвращать ошибку проверки SSL-сертификата. Чтобы это исправить, нужно добавить корневой сертификат Минцифры в цепочку доверия PHP для сайта.\u003C/p>\n\n\n\n\u003Cp>В статье рассмотрим, как скачать и установить сертификаты Минцифры на \u003Ca href=\"https://beget.com/ru/hosting/virtual?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=site_hosting_virtual\">виртуальном хостинге\u003C/a>, как подключить его в PHP и проверить, что он используется, а также отдельно разберем особенность подключения для сайтов на WordPress.\u003C/p>\n\n\n\n\u003Ch2 id=\"obshchiy-plan-ustanovki\">Общий план установки\u003C/h2>\n\n\n\n\u003Cp>Установка сертификатов Минцифры состоит из пяти шагов:\u003C/p>\n\n\n\n\u003Col>\u003Cli>Создать в корне сайта директорию для сертификата.\u003C/li>\u003Cli>Скачать в нее корневой сертификат Минцифры.\u003C/li>\u003Cli>Определить полный путь до скачанного файла сертификата.\u003C/li>\u003Cli>Подключить сертификат в PHP – самостоятельно (если включен режим \u003Cstrong>CGI\u003C/strong>) или через техническую поддержку (если сайт работает на \u003Cstrong>mod_php\u003C/strong>).\u003C/li>\u003Cli>Проверить, что сертификат действительно используется.\u003C/li>\u003C/ol>\n\n\n\n\u003Cp>Разберем каждый шаг подробнее.\u003C/p>\n\n\n\n\u003Ch2 id=\"shag-1-sozdayte-direktoriyu-dlya-sertifikata\">Шаг 1. Создайте директорию для сертификата\u003C/h2>\n\n\n\n\u003Cp>Создайте в директории \u003Ccode>public_html\u003C/code> директорию для сертификата – например, назовите ее \u003Ccode>cert\u003C/code>.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ssh\">Через SSH\u003C/h3>\n\n\n\n\u003Cp>Выполните команду, находясь в корневой директории сайта (внутри директории \u003Ccode>public_html\u003C/code>):\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>mkdir cert\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch3 id=\"bez-ssh\">Без SSH\u003C/h3>\n\n\n\n\u003Cp>Создать директорию можно и без консоли:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>в \u003Ca href=\"https://beget.com/ru/kb/manual/fajlovyj-menedzher?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=kb_fajlovyj_menedzher\">файловом менеджере\u003C/a> панели управления – откройте директорию сайта (например, \u003Ccode>~/ваш_сайт/public_html\u003C/code>) и создайте в ней новую директорию \u003Ccode>cert\u003C/code>;\u003C/li>\u003Cli>через FTP/SFTP-клиент, например, \u003Ca href=\"https://beget.com/ru/kb/how-to/ftp/podklyuchenie-po-ftp-cherez-filezilla?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=kb_filezilla\">FileZilla\u003C/a> или \u003Ca href=\"https://beget.com/ru/kb/how-to/ftp/podklyuchenie-po-sftp-cherez-winscp?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=kb_winscp\">WinSCP\u003C/a> – подключитесь к аккаунту и создайте директорию \u003Ccode>cert\u003C/code> в директории \u003Ccode>~/ваш_сайт/public_html\u003C/code>.\u003C/li>\u003C/ul>\n\n\n\n\u003Ch2 id=\"shag-2-skachayte-kornevoy-sertifikat\">Шаг 2. Скачайте корневой сертификат\u003C/h2>\n\n\n\n\u003Cp>Файл с сертификатом Минцифры и другими стандартными корневыми сертификатами доступен по ссылке ниже:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>http://cp.beget.com/shared/0NGaYKR7Z7f77SlGwjFL0NYc2D7nue4O/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Файл с сертификатом Минцифры объединен с другими корневыми сертификатами специально. Если использовать файл только с сертификатом Минцифры, сайт перестанет доверять сертификатам остальных сервисов – тех, что не связаны с Минцифры. В этом же файле собраны и стандартные сертификаты, поэтому доверие сохраняется сразу ко всем: и к обычным сайтам, и к тем, что используют сертификат Минцифры.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ssh-2\">Через SSH\u003C/h3>\n\n\n\n\u003Cp>Скачайте файл прямо в созданную директорию cert, например, командой \u003Ccode>wget\u003C/code>:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>wget -O cert/russian_trusted_root_ca_pem.crt http://cp.beget.com/shared/0NGaYKR7Z7f77SlGwjFL0NYc2D7nue4O/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch3 id=\"bez-ssh-2\">Без SSH\u003C/h3>\n\n\n\n\u003Cp>Скачайте файл по ссылке на локальный компьютер (через браузер), а затем загрузите его в директорию cert через файловый менеджер или FTP/SFTP-клиент.\u003C/p>\n\n\n\n\u003Ch2 id=\"shag-3-opredelite-polnyy-put-k-faylu-sertifikata\">Шаг 3. Определите полный путь к файлу сертификата\u003C/h2>\n\n\n\n\u003Cp>В файле \u003Ccode>php.ini\u003C/code> путь к сертификату необходимо указать абсолютным. Определите абсолютный путь до файла сертификата на сервере – он понадобится на шаге 4.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ssh-3\">Через SSH\u003C/h3>\n\n\n\n\u003Cp>Узнать полный путь можно двумя способами.\u003C/p>\n\n\n\n\u003Cp>Первый – команда \u003Ccode>realpath\u003C/code>, которая сработает, если выполнить ее из директории \u003Ccode>public_html\u003C/code> (там же, где создана директория \u003Ccode>cert\u003C/code>):\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>realpath cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Пример результата:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>/home/b/betutorial/mincifry.betutorial.ru/public_html/cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Второй способ – узнать путь до директории \u003Ccode>public_html\u003C/code> командой \u003Ccode>pwd\u003C/code>, выполнив ее из этой же директории:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>pwd\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Пример результата:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>/home/b/betutorial/mincifry.betutorial.ru/public_html\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>К результату останется вручную добавить \u003Ccode>/cert/russian_trusted_root_ca_pem.crt\u003C/code> – получится тот же путь, что и в примере выше.\u003C/p>\n\n\n\n\u003Ch3 id=\"bez-ssh-3\">Без SSH\u003C/h3>\n\n\n\n\u003Cp>Путь можно составить вручную по схеме:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>/home/[первая буква логина]/[логин]/[ваш сайт]/public_html/cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Логин аккаунта указан в правом верхнем углу панели управления. Директорию, к которой привязан нужный домен, можно посмотреть в разделе «Сайты».\u003C/p>\n\n\n\n\u003Cp>Мы разобрали, как скачать сертификат Минцифры для сайта, и теперь перейдем к нюансам, связанным с CMS WordPress, и подключению сертификата в PHP.\u003C/p>\n\n\n\n\u003Ch2 id=\"osobennost-dlya-saytov-na-wordpress\">Особенность для сайтов на WordPress\u003C/h2>\n\n\n\n\u003Cp>Ядро WordPress не использует системный или указанный в \u003Ccode>php.ini\u003C/code> набор сертификатов, а берет его из собственного файла:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Поэтому для корректной работы HTTPS-запросов из WordPress (например, при работе с платежными системами Российской Федерации) сертификаты Минцифры нужно дополнительно добавить в конец этого файла. Это отдельный шаг, который не зависит от режима PHP (\u003Cstrong>CGI\u003C/strong> или \u003Cstrong>mod_php\u003C/strong>) – выполните его независимо от того, какой режим работает на вашем сайте.\u003C/p>\n\n\n\n\u003Cp>Скачанный в шаге 2 файл\u003Ccode>russian_trusted_root_ca_pem.crt\u003C/code> содержит несколько сертификатов подряд, каждый из которых оформлен как отдельный блок между строками \u003Ccode>-----BEGIN CERTIFICATE-----\u003C/code> и \u003Ccode>-----END CERTIFICATE-----\u003C/code>. Для WordPress нужны только первые два из них: сначала в файле идет промежуточный сертификат (Sub CA), затем – корневой (Root CA). Но добавлять их в \u003Ccode>ca-bundle.crt\u003C/code> нужно в обратном порядке – \u003Cstrong>сначала корневой сертификат, затем промежуточный\u003C/strong>. Остальные сертификаты из файла для этой задачи не нужны.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ssh-4\">Через SSH\u003C/h3>\n\n\n\n\u003Cp>Для добавления сертификатов Минцифры в файл \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code> выполните следующие действия: \u003C/p>\n\n\n\n\u003Col>\u003Cli>Извлеките из скачанного файла первые два сертификата – команда остановится сразу после второго:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>awk '/-----BEGIN CERTIFICATE-----/{c++} c&lt;=2{print &gt; (\"cert/root\" c \".pem\")} c&gt;2{exit}' cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Появятся два файла: \u003Ccode>cert/root1.pem\u003C/code> – промежуточный сертификат (идет в скачанном файле первым) и \u003Ccode>cert/root2.pem\u003C/code> – корневой (идет в скачанном файле вторым).\u003C/p>\n\n\n\n\u003Col start=\"2\">\u003Cli>Выведите их на экран в порядке, нужном для вставки – сначала корневой, потом промежуточный:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>cat cert/root2.pem cert/root1.pem\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"3\">\u003Cli>Откройте в редакторе \u003Ccode>vim\u003C/code> файл \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>vim wp-includes/certificates/ca-bundle.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"4\">\u003Cli>Перейдите в конец файла – клавиша \u003Ccode>G\u003C/code> (\u003Ccode>Shift+G\u003C/code>).\u003C/li>\u003Cli>Откройте новую строку под последней и перейдите в режим вставки – клавиша \u003Ccode>o\u003C/code>.\u003C/li>\u003Cli>Вставьте оба сертификата, выведенных на шаге 2, в том же порядке – сначала корневой, потом промежуточный.\u003C/li>\u003Cli>Выйдите из режима вставки – клавиша \u003Ccode>Esc\u003C/code>.\u003C/li>\u003Cli>Сохраните файл и выйдите из редактора – команда \u003Ccode>:wq\u003C/code>.\u003C/li>\u003C/ol>\n\n\n\n\u003Ch3 id=\"cherez-faylovyy-menedzher\">Через файловый менеджер\u003C/h3>\n\n\n\n\u003Cp>Откройте файлы \u003Ccode>cert/russian_trusted_root_ca_pem.crt\u003C/code> и \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code> на редактирование. Скачанный файл содержит несколько сертификатов подряд, но нужны только первые два – границы каждого блока видны по строкам \u003Ccode>-----BEGIN CERTIFICATE-----\u003C/code> и \u003Ccode>-----END CERTIFICATE-----\u003C/code>. Первый по счету блок – промежуточный сертификат (Sub CA), второй – корневой (Root CA). Скопируйте эти два блока (каждый – от \u003Ccode>-----BEGIN CERTIFICATE-----\u003C/code> до соответствующего \u003Ccode>-----END CERTIFICATE-----\u003C/code>) и вставьте их в конец \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code> в обратном порядке: сначала второй блок из скачанного файла (корневой), затем первый (промежуточный). Сохраните файл.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ftp-sftp-klient\">Через FTP/SFTP-клиент\u003C/h3>\n\n\n\n\u003Cp>Скачайте файлы \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code> и \u003Ccode>cert/russian_trusted_root_ca_pem.crt\u003C/code> на компьютер. Скачанный файл \u003Ccode>cert/russian_trusted_root_ca_pem.crt\u003C/code> содержит несколько сертификатов подряд, но нужны только первые два – границы каждого блока видны по строкам \u003Ccode>-----BEGIN CERTIFICATE-----\u003C/code> и \u003Ccode>-----END CERTIFICATE-----\u003C/code>. Они расположены в порядке: сначала промежуточный, затем корневой. Скопируйте эти два блока в текстовом редакторе и вставьте их в конец \u003Ccode>ca-bundle.crt\u003C/code> в обратном порядке: сначала корневой (второй блок в скачанном файле), затем промежуточный (первый блок). Загрузите измененный \u003Ccode>ca-bundle.crt\u003C/code> обратно на сервер, заменив исходный.\u003C/p>\n\n\n\n\u003Ch2 id=\"shag-4-podklyuchite-sertifikat-v-php\">Шаг 4. Подключите сертификат в PHP\u003C/h2>\n\n\n\n\u003Cp>Способ подключения сертификата зависит от режима работы PHP на сайте – \u003Cstrong>CGI\u003C/strong> или \u003Cstrong>mod_php\u003C/strong> (используется по умолчанию). В режиме \u003Cstrong>mod_php\u003C/strong> PHP работает как модуль веб-сервера и не запускается заново на каждый запрос. В режиме \u003Cstrong>CGI\u003C/strong> PHP-скрипты обрабатывает отдельный процесс интерпретатора, из-за чего CGI расходует больше ресурсов процессора и памяти, чем mod_php, – на сайтах с высокой посещаемостью это может заметно увеличить нагрузку на аккаунт.\u003C/p>\n\n\n\n\u003Cp>Посмотреть текущий режим можно в разделе “\u003Ca href=\"https://cp.beget.com/sites?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=cp_sites\">Сайты\u003C/a>” вашей панели управления:\u003C/p>\n\n\n\n\u003Col>\u003Cli>Найдите нужный домен и нажмите на иконку \u003Cimg src=\"https://cp.beget.com/shared/PCVtVCXdv0OY0wpu9auS2rPKUq5cjQyw/snimok-ekrana-2026-08-11-181924.png\" class=\"wp-inline-image\"> в строке с именем сайта:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/j187u0JmtYgcTLzXpDYnm2MvMPWaL0nI/snimok-ekrana-2026-08-11-191307.png\" alt=\"сайт из раздела Сайты\">\u003C/div>\n\n\n\n\u003Col start=\"2\">\u003Cli>В открывшемся окне посмотрите, активирован ли \u003Cstrong>Режим cgi\u003C/strong>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/TvSbxNrhU4Mfd4sIJ-3ESzIA_W-lyyct/snimok-ekrana-2026-08-11-190741.png\" alt=\"настройки сайта из раздела Сайты\">\u003C/div>\n\n\n\n\u003Cp>Если режим \u003Cstrong>CGI\u003C/strong> включен, путь к сертификату можно прописать самостоятельно. Если же он отключен, значит, для сайта используется \u003Cstrong>mod_php\u003C/strong> – в этом случае сертификат подключает техническая поддержка.\u003C/p>\n\n\n\n\u003Ch3 id=\"esli-rezhim-cgi-vyklyuchen\">Если режим CGI выключен\u003C/h3>\n\n\n\n\u003Cp>В режиме \u003Cstrong>mod_php\u003C/strong> директивы из файла \u003Ccode>cgi-bin/php.ini\u003C/code> не применяются – даже если создать этот файл вручную. Прописать путь к сертификату в этом случае можно только через конфигурацию виртуального хоста, которая доступна технической поддержке. Поэтому обратитесь в \u003Ca href=\"https://cp.beget.com/support?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=cp_support\">техническую поддержку Beget\u003C/a> – специалисты подключат сертификат Минцифры на сайт без включения режима CGI.\u003C/p>\n\n\n\n\u003Cp>В тикете укажите:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>домен сайта;\u003C/li>\u003Cli>полный путь к сертификату, который вы определили на шаге 3, например:\u003C/li>\u003C/ul>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>/home/b/betutorial/mincifry.betutorial.ru/public_html/cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch3 id=\"esli-rezhim-cgi-vklyuchen\">Если режим CGI включен\u003C/h3>\n\n\n\n\u003Cp>Путь к сертификату указывается в файле \u003Ccode>php.ini\u003C/code>:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>~/ваш_сайт/public_html/cgi-bin/php.ini\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>В файл нужно добавить директиву \u003Ccode>openssl.cafile\u003C/code> с полным путем к сертификату, который вы определили на шаге 3. Например:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>openssl.cafile = /home/b/betutorial/mincifry.betutorial.ru/public_html/cert/russian_trusted_root_ca_pem.crt\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch4 id=\"cherez-ssh-5\">Через SSH\u003C/h4>\n\n\n\n\u003Col>\u003Cli>Находясь в корневой директории сайта (внутри \u003Ccode>public_html\u003C/code>), откройте файл в редакторе \u003Ccode>vim\u003C/code>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>vim cgi-bin/php.ini\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"2\">\u003Cli>Перейдите в начало файла – клавиша \u003Ccode>gg\u003C/code>.\u003C/li>\u003Cli>Откройте новую строку над первой и перейдите в режим вставки – клавиша \u003Ccode>O\u003C/code> (заглавная).\u003C/li>\u003Cli>Введите строку \u003Ccode>openssl.cafile\u003C/code> с путем к сертификату.\u003C/li>\u003Cli>Выйдите из режима вставки – клавиша \u003Ccode>Esc\u003C/code>.\u003C/li>\u003Cli>Сохраните файл и выйдите из редактора – команда \u003Ccode>:wq\u003C/code>.\u003C/li>\u003C/ol>\n\n\n\n\u003Ch4 id=\"cherez-faylovyy-menedzher-2\">Через файловый менеджер\u003C/h4>\n\n\n\n\u003Cp>Откройте файл \u003Ccode>cgi-bin/php.ini\u003C/code> на редактирование прямо в файловом менеджере панели управления, добавьте директиву \u003Ccode>openssl.cafile\u003C/code> и сохраните файл.\u003C/p>\n\n\n\n\u003Ch4 id=\"cherez-ftp-sftp-klient-2\">Через FTP/SFTP-клиент\u003C/h4>\n\n\n\n\u003Cp>Скачайте файл \u003Ccode>cgi-bin/php.ini\u003C/code> на компьютер, добавьте директиву \u003Ccode>openssl.cafile\u003C/code> в текстовом редакторе и загрузите файл обратно на сервер, заменив исходный.\u003C/p>\n\n\n\n\u003Ch2 id=\"shag-5-proverte-chto-sertifikat-ispolzuetsya\">Шаг 5. Проверьте, что сертификат используется\u003C/h2>\n\n\n\n\u003Cp>Чтобы убедиться, что сертификат подключен и используется корректно, можно выполнить тестовый запрос к внешним ресурсам, которые используют сертификат Минцифры (например, к платежным шлюзам банков), через \u003Ccode>cURL\u003C/code> с включенной проверкой сертификата (\u003Ccode>CURLOPT_SSL_VERIFYPEER\u003C/code>).\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-alert alert-block alert-block-info\">\u003Cdiv class=\"alert-block-title\">Обратите внимание!\u003C/div>\u003Cdiv class=\"alert-block-content\">Проверять нужно именно PHP-скриптом, а не командой \u003Ccode>curl\u003C/code> в терминале по SSH. Директива \u003Ccode>openssl.cafile\u003C/code> из \u003Ccode>php.ini\u003C/code> или в конфигурационном файле виртуального хоста относится только к PHP – консольная утилита \u003Ccode>curl\u003C/code> ее не читает и использует свой собственный набор сертификатов. Поэтому команда \u003Ccode>curl https://3dsec.sberbank.ru\u003C/code> в терминале завершится ошибкой \u003Ccode>SSL certificate problem: self signed certificate in certificate chain\u003C/code>, даже если сертификат в PHP подключен правильно. Это не означает, что установка не удалась, – ориентируйтесь на результат PHP-скрипта.\u003C/div>\u003C/div>\n\n\n\n\u003Cp>Загрузите на сайт PHP-скрипт из блока ниже (например, под именем \u003Ccode>check-cert.php\u003C/code>) и откройте его в браузере.\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>&lt;?php\n$banks = [\n    'Сбербанк (3-D Secure)' =&gt; 'https://3dsec.sberbank.ru',\n    'Т-Банк (3-D Secure)'   =&gt; 'https://mddc.tbank.ru',\n    'Альфа-Банк (rbsuat)'   =&gt; 'https://alfa.rbsuat.com/payment/rest',\n];\nforeach ($banks as $name =&gt; $url) {\n    echo '&lt;h2&gt;' . htmlspecialchars($name) . '&lt;/h2&gt;';\n    echo '&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; ' . htmlspecialchars($url) . '&lt;/p&gt;';\n    $verbose = fopen('php://temp', 'w+');\n    $ch = curl_init($url);\n    curl_setopt_array($ch, [\n        CURLOPT_RETURNTRANSFER =&gt; true,\n        CURLOPT_HEADER         =&gt; false,\n        CURLOPT_VERBOSE        =&gt; true,\n        CURLOPT_STDERR         =&gt; $verbose,\n        CURLOPT_SSL_VERIFYPEER =&gt; true,\n        CURLOPT_SSL_VERIFYHOST =&gt; 2,\n        CURLOPT_CONNECTTIMEOUT =&gt; 10,\n        CURLOPT_TIMEOUT        =&gt; 20\n    ]);\n    $response = curl_exec($ch);\n    rewind($verbose);\n    $debug = stream_get_contents($verbose);\n    $error = curl_error($ch);\n    $errno = curl_errno($ch);\n    $info  = curl_getinfo($ch);\n    curl_close($ch);\n    fclose($verbose);\n    echo '&lt;pre&gt;';\n    echo htmlspecialchars($debug);\n    if ($response === false) {\n        echo \"\\n\";\n        echo \"cURL error (\" . $errno . \"): \";\n        echo htmlspecialchars($error);\n    } else {\n        echo \"\\n\";\n        echo \"HTTP code: \" . ($info['http_code'] ?? 0);\n        echo \"\\n\";\n        echo \"SSL verification: OK\";\n    }\n    echo '&lt;/pre&gt;';\n}\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch3 id=\"cherez-ssh-6\">Через SSH\u003C/h3>\n\n\n\n\u003Col>\u003Cli>Находясь в корневой директории сайта (внутри \u003Ccode>public_html\u003C/code>), создайте и откройте файл в редакторе \u003Ccode>vim\u003C/code>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>vim check-cert.php\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"2\">\u003Cli>Перейдите в режим вставки – клавиша \u003Ccode>i\u003C/code>.\u003C/li>\u003Cli>Вставьте код скрипта (скопируйте его из блока выше).\u003C/li>\u003Cli>Выйдите из режима вставки – клавиша \u003Ccode>Esc\u003C/code>.\u003C/li>\u003Cli>Сохраните файл и выйдите из редактора – команда \u003Ccode>:wq\u003C/code>.\u003C/li>\u003C/ol>\n\n\n\n\u003Ch3 id=\"cherez-faylovyy-menedzher-3\">Через файловый менеджер\u003C/h3>\n\n\n\n\u003Cp>Создайте в директории \u003Ccode>public_html\u003C/code> новый файл \u003Ccode>check-cert.php\u003C/code>, откройте его на редактирование, вставьте код скрипта и сохраните.\u003C/p>\n\n\n\n\u003Ch3 id=\"cherez-ftp-sftp-klient-3\">Через FTP/SFTP-клиент\u003C/h3>\n\n\n\n\u003Cp>Сохраните код скрипта в файл \u003Ccode>check-cert.php\u003C/code> на компьютере и загрузите его в директорию \u003Ccode>public_html\u003C/code>.\u003C/p>\n\n\n\n\u003Cp>После загрузки любым из способов откройте файл в браузере по адресу вида \u003Ccode>https://ваш-домен.ru/check-cert.php\u003C/code>.\u003C/p>\n\n\n\n\u003Cp>Скрипт по очереди обращается к трем платежным шлюзам, которые используют сертификат Минцифры (3-D Secure Сбербанка, Т-Банка и Альфа-Банка), и с включенной проверкой сертификата (\u003Ccode>CURLOPT_SSL_VERIFYPEER\u003C/code>) выводит подробную диагностику TLS-соединения по каждому из них.\u003C/p>\n\n\n\n\u003Cp>Главный признак успешной проверки – строки в выводе:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>CAfile: /home/b/betutorial/mincifry.betutorial.ru/public_html/cert/russian_trusted_root_ca_pem.crt\nissuer: C=RU; O=The Ministry of Digital Development and Communications; CN=Russian Trusted Sub CA\nSSL certificate verify ok.\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Строка \u003Ccode>CAfile\u003C/code> показывает, какой именно файл сертификатов использовал cURL для проверки, – путь должен совпадать с тем, что вы указали в \u003Ccode>openssl.cafile\u003C/code> на шаге 4. Строки \u003Ccode>issuer\u003C/code> и \u003Ccode>SSL certificate verify ok\u003C/code> подтверждают, что соединение прошло проверку именно по сертификату Минцифры.\u003C/p>\n\n\n\n\u003Cp>Проверьте вывод по каждому из трех ресурсов – эти строки должны присутствовать в блоке диагностики для каждого банка. Код HTTP-ответа сервера (200, 302, 404 и т. д.), который выводится ниже, в данном случае не важен – значение имеет именно успешное установление SSL-соединения с указанным сертификатом.\u003C/p>\n\n\n\n\u003Cp>Пример полного вывода для одного из банков:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/WiRvD_DvG3M4lZ9SIlqBb2fMSj-Kntw0/frame_safari_light-1.png\" alt=\"Пример вывода скрипта проверки сертификата Минцифры\">\u003C/div>\n\n\n\n\u003Ch3 id=\"dopolnitelnaya-proverka-dlya-wordpress\">Дополнительная проверка для WordPress\u003C/h3>\n\n\n\n\u003Cp>Скрипт выше проверяет сертификат на уровне PHP – через директиву \u003Ccode>openssl.cafile\u003C/code> в \u003Ccode>php.ini\u003C/code>. Но сам WordPress (в том числе платежные плагины) могут обращаться к внешним сервисам через собственный HTTP API ядра – функцию \u003Ccode>wp_remote_get()\u003C/code>, которая использует файл \u003Ccode>wp-includes/certificates/ca-bundle.crt\u003C/code>.\u003C/p>\n\n\n\n\u003Cp>Чтобы проверить именно эту часть, используйте отдельный скрипт, который подключает ядро WordPress:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;&quot;}\">\u003Ccode>&lt;?php\nrequire_once __DIR__ . '/wp-load.php';\n$banks = [\n    'Сбербанк (3-D Secure)' =&gt; 'https://3dsec.sberbank.ru',\n    'Т-Банк (3-D Secure)'   =&gt; 'https://mddc.tbank.ru',\n    'Альфа-Банк (rbsuat)'   =&gt; 'https://alfa.rbsuat.com/payment/rest',\n];\nforeach ($banks as $name =&gt; $url) {\n    echo '&lt;h2&gt;' . esc_html($name) . '&lt;/h2&gt;';\n    echo '&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; ' . esc_html($url) . '&lt;/p&gt;';\n    $response = wp_remote_get($url, [\n        'timeout'   =&gt; 20,\n        'sslverify' =&gt; true,\n    ]);\n    echo '&lt;pre&gt;';\n    if (is_wp_error($response)) {\n        echo 'Ошибка: ' . esc_html($response-&gt;get_error_message());\n    } else {\n        echo 'HTTP code: ' . esc_html(wp_remote_retrieve_response_code($response)) . \"\\n\";\n        echo 'SSL verification: OK';\n    }\n    echo '&lt;/pre&gt;';\n}\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Загрузите файл (например, \u003Ccode>check-cert-wp.php\u003C/code>) в корень WordPress-сайта – в ту же директорию, где лежит файл \u003Ccode>wp-load.php\u003C/code>, – любым из способов, описанных выше, и откройте его в браузере.\u003C/p>\n\n\n\n\u003Cp>Если сертификат в \u003Ccode>ca-bundle.crt\u003C/code> подключен корректно, ошибок в выводе не будет – вы увидите только HTTP-код ответа и строку \u003Ccode>SSL verification: OK\u003C/code>. Если сертификат не подключен или добавлен с ошибкой, \u003Ccode>wp_remote_get() \u003C/code>вернет ошибку \u003Ccode>cURL error 60: SSL certificate problem: self signed certificate in certificate chain\u003C/code>.\u003C/p>\n\n\n\n\u003Cp>Пример вывода:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/Lj9XO6OLEPL4ELEAXE-vfPUdFlejvLeH/frame_safari_light-2.png\" alt=\"Пример вывода скрипта проверки сертификата Минцифры для cms wordpess\">\u003C/div>\n\n\n\n\u003Cp>После проверки удалите оба скрипта с сайта – оставлять на сайте служебные PHP-файлы с диагностической информацией небезопасно.\u003C/p>\n\n\n\n\u003Cp>После того, как сертификат подтвержден скриптом можно проверить работу платежных плагинов на сайте – например, оформить тестовый заказ через нужный способ оплаты.\u003C/p>\n\n\n\n\u003Ch2 id=\"na-kakih-cms-proveren-sposob\">На каких CMS проверен способ\u003C/h2>\n\n\n\n\u003Cp>Способ проверен на сайтах под управлением WordPress, 1С-Битрикс, MODX, Joomla и OpenCart – на них установка проходит по описанному алгоритму (для WordPress – с дополнительным шагом выше).\u003C/p>\n\n\n\n\u003Cp>Даже на этих CMS результат зависит от конкретного сайта. Некоторые плагины и модули устанавливают соединение с внешними сервисами в обход общих настроек, не используя ни \u003Ccode>php.ini\u003C/code>, ни \u003Ccode>ca-bundle.crt\u003C/code>, ни настройки виртуального хоста. В этом случае для отдельного плагина может понадобиться дополнительная настройка – по таким вопросам обращайтесь к разработчикам плагина или разработчикам сайта.\u003C/p>\n\n\n\n\u003Cp>На других CMS могут быть свои особенности работы с сертификатами, как в случае с WordPress.\u003C/p>\n\n\n\n\u003Ch2 id=\"zaklyuchenie\">Заключение\u003C/h2>\n\n\n\n\u003Cp>Установка сертификата Минцифры состоит из трех частей: скачать сертификат и определить путь к нему, подключить этот путь в PHP через параметр \u003Ccode>openssl.cafile\u003C/code>, а на WordPress-сайтах – еще и добавить сертификаты в \u003Ccode>ca-bundle.crt\u003C/code> ядра CMS. Подключить \u003Ccode>openssl.cafile\u003C/code> можно самостоятельно, если на сайте включен режим \u003Cstrong>CGI\u003C/strong>; на \u003Cstrong>mod_php\u003C/strong> это делает техническая поддержка Beget. Все шаги, которые выполняются самостоятельно, доступны и через SSH, и без консоли – через файловый менеджер или FTP/SFTP-клиент.\u003C/p>\n\n\n\n\u003Cp>Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “\u003Ca href=\"https://cp.beget.com/support?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=certificate_mincifry&amp;utm_content=cp_support\">Помощь и поддержка\u003C/a>”), а если вы захотите обсудить, зачем нужен сертификат Минцифры, с коллегами по цеху и сотрудниками Beget – ждем вас в нашем \u003Ca href=\"https://t.me/beget_chat\">сообществе\u003C/a> в Telegram.&nbsp;\u003C/p>\n",94,"2026-08-17T12:07:02.000Z","2026-08-17T13:02:16.000Z",{"count":16,"liked":17},0,false,{"route":19,"title":21,"tags":22,"breadcrumbs":67,"uuid":68,"parent_uuid":69,"default_page_path":27,"seo_metadata":70},{"language":6,"path":20},"/kb/faq/hosting","Хостинг",[23,28,32,36,40,44,48,52,55,59,63],{"id":24,"title":25,"seo_metadata":26},"cms","CMS",{"title":27,"description":27,"header":27,"keywords":27},"",{"id":29,"title":30,"seo_metadata":31},"virtualnyj-hosting","Виртуальный хостинг",{"title":27,"description":27,"header":27,"keywords":27},{"id":33,"title":34,"seo_metadata":35},"ftp","FTP",{"title":27,"description":27,"header":27,"keywords":27},{"id":37,"title":38,"seo_metadata":39},"mysql","MySQL",{"title":27,"description":27,"header":27,"keywords":27},{"id":41,"title":42,"seo_metadata":43},"ssh","SSH",{"title":27,"description":27,"header":27,"keywords":27},{"id":45,"title":46,"seo_metadata":47},"perenos-sajta","Перенос сайта",{"title":27,"description":27,"header":27,"keywords":27},{"id":49,"title":50,"seo_metadata":51},"crontab","Crontab",{"title":27,"description":27,"header":27,"keywords":27},{"id":53,"title":53,"seo_metadata":54},"htaccess",{"title":27,"description":27,"header":27,"keywords":27},{"id":56,"title":57,"seo_metadata":58},"php","PHP",{"title":27,"description":27,"header":27,"keywords":27},{"id":60,"title":61,"seo_metadata":62},"perl","Perl",{"title":27,"description":27,"header":27,"keywords":27},{"id":64,"title":65,"seo_metadata":66},"yuridicheskie-voprosy","Юридические вопросы",{"title":27,"description":27,"header":27,"keywords":27},[],"cdc8de8b-c097-2c9b-9132-61c926d8c38c","80213437-0399-4b4f-2333-426bb5050534",{"title":27,"description":27,"header":27,"keywords":27},{"src":27,"text":27},{"title":27,"description":27,"keywords":27},{"faq":74,"how_to":75,"product":75},[],null,{},[78,82,85,89,92,95,97,99,102,104,106,109,111,114,117,120,123,126,129,131,133,136,138,140,142,145,148],{"level":79,"name":80,"anchor":81},1,"Общий план установки","obshchiy-plan-ustanovki",{"level":79,"name":83,"anchor":84},"Шаг 1. Создайте директорию для сертификата","shag-1-sozdayte-direktoriyu-dlya-sertifikata",{"level":86,"name":87,"anchor":88},2,"Через SSH","cherez-ssh",{"level":86,"name":90,"anchor":91},"Без SSH","bez-ssh",{"level":79,"name":93,"anchor":94},"Шаг 2. Скачайте корневой сертификат","shag-2-skachayte-kornevoy-sertifikat",{"level":86,"name":87,"anchor":96},"cherez-ssh-2",{"level":86,"name":90,"anchor":98},"bez-ssh-2",{"level":79,"name":100,"anchor":101},"Шаг 3. Определите полный путь к файлу сертификата","shag-3-opredelite-polnyy-put-k-faylu-sertifikata",{"level":86,"name":87,"anchor":103},"cherez-ssh-3",{"level":86,"name":90,"anchor":105},"bez-ssh-3",{"level":79,"name":107,"anchor":108},"Особенность для сайтов на WordPress","osobennost-dlya-saytov-na-wordpress",{"level":86,"name":87,"anchor":110},"cherez-ssh-4",{"level":86,"name":112,"anchor":113},"Через файловый менеджер","cherez-faylovyy-menedzher",{"level":86,"name":115,"anchor":116},"Через FTP/SFTP-клиент","cherez-ftp-sftp-klient",{"level":79,"name":118,"anchor":119},"Шаг 4. Подключите сертификат в PHP","shag-4-podklyuchite-sertifikat-v-php",{"level":86,"name":121,"anchor":122},"Если режим CGI выключен","esli-rezhim-cgi-vyklyuchen",{"level":86,"name":124,"anchor":125},"Если режим CGI включен","esli-rezhim-cgi-vklyuchen",{"level":127,"name":87,"anchor":128},3,"cherez-ssh-5",{"level":127,"name":112,"anchor":130},"cherez-faylovyy-menedzher-2",{"level":127,"name":115,"anchor":132},"cherez-ftp-sftp-klient-2",{"level":79,"name":134,"anchor":135},"Шаг 5. Проверьте, что сертификат используется","shag-5-proverte-chto-sertifikat-ispolzuetsya",{"level":86,"name":87,"anchor":137},"cherez-ssh-6",{"level":86,"name":112,"anchor":139},"cherez-faylovyy-menedzher-3",{"level":86,"name":115,"anchor":141},"cherez-ftp-sftp-klient-3",{"level":86,"name":143,"anchor":144},"Дополнительная проверка для WordPress","dopolnitelnaya-proverka-dlya-wordpress",{"level":79,"name":146,"anchor":147},"На каких CMS проверен способ","na-kakih-cms-proveren-sposob",{"level":79,"name":149,"anchor":150},"Заключение","zaklyuchenie",[],[153,157],{"route":154,"title":156},{"language":6,"path":155},"/kb/faq","Руководство по услугам",{"route":158,"title":21},{"language":6,"path":20},[160,162,164,166],{"src":161},"https://cp.beget.com/shared/j187u0JmtYgcTLzXpDYnm2MvMPWaL0nI/snimok-ekrana-2026-08-11-191307.png",{"src":163},"https://cp.beget.com/shared/TvSbxNrhU4Mfd4sIJ-3ESzIA_W-lyyct/snimok-ekrana-2026-08-11-190741.png",{"src":165},"https://cp.beget.com/shared/WiRvD_DvG3M4lZ9SIlqBb2fMSj-Kntw0/frame_safari_light-1.png",{"src":167},"https://cp.beget.com/shared/Lj9XO6OLEPL4ELEAXE-vfPUdFlejvLeH/frame_safari_light-2.png",[],[170,179,188],{"route":171,"uuid":173,"title":174,"excerpt":27,"content":27,"view_count":16,"published_at":27,"modified_at":27,"like":75,"category":75,"hero_image":75,"seo_metadata":75,"schema_org_metadata":75,"open_graph_metadata":75,"sections":175,"tags":176,"breadcrumbs":177,"images":178},{"language":6,"path":172},"/kb/faq/hosting/perenos-sajta","8e115ed8-6a48-910e-3d11-e7da73e7d1ae","Перенос сайта с одного хостинга на другой",[],[],[],[],{"route":180,"uuid":182,"title":183,"excerpt":27,"content":27,"view_count":16,"published_at":27,"modified_at":27,"like":75,"category":75,"hero_image":75,"seo_metadata":75,"schema_org_metadata":75,"open_graph_metadata":75,"sections":184,"tags":185,"breadcrumbs":186,"images":187},{"language":6,"path":181},"/kb/faq/hosting/bazy-dannyh-mysql","03218008-2558-a80e-a011-ee90232e09f8","Базы данных MySQL. Ответы на популярные вопросы",[],[],[],[],{"route":189,"uuid":191,"title":192,"excerpt":27,"content":27,"view_count":16,"published_at":27,"modified_at":27,"like":75,"category":75,"hero_image":75,"seo_metadata":75,"schema_org_metadata":75,"open_graph_metadata":75,"sections":193,"tags":194,"breadcrumbs":195,"images":196},{"language":6,"path":190},"/kb/faq/hosting/obshhie-voprosy-i-opredeleniya","c86d8581-5ac7-ff69-1738-7b60dc186b43","Хостинг. Общие вопросы и определения",[],[],[],[],"popularity-desc"]