Я запускаю apache на Ubuntu 14.04 и пытаюсь реализовать SSL. Любая помощь будет принята с благодарностью.
default-ssl.conf имеет:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Когда я перезапускаю apache, сообщение об ошибке в /var/log/apache2/error.log выглядит так:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443447 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443458 2015] [ssl:error] [pid 30927] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 01 19:31:06.443468 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443479 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443487 2015] [ssl:emerg] [pid 30927] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more inf$
apache-2.2
ubuntu
ssl
mikesynan
источник
источник
Ответы:
ВНИМАНИЕ: Никогда не размещайте свой закрытый ключ в Интернете. Даже не копируйте его на другой компьютер, рабочую станцию и т. Д. Он должен быть максимально конфиденциальным.
SSLCertificateKeyFile требуется закрытый ключ. Этот ключ обычно генерируется до CSR или одновременно. Найдите файл, который начинается со строки, содержащей:
BEGIN PRIVATE KEY
CSR (запрос на подпись сертификата) требуется только тогда, когда вы просите подписать сертификат. После этого вы можете отказаться от него.
Если вы потеряли закрытый ключ, вам нужно будет сгенерировать новый закрытый ключ, затем сгенерируйте новый CSR и попросите CA (центр сертификации) снова подписать CSR.
источник
Вот проблема:
Вы поместили здесь файл запроса на подпись сертификата (CSR) по ошибке. Вы должны поместить туда файл закрытого ключа, который вы использовали для генерации CSR. Этот файл закрытого ключа не должен быть защищен паролем, иначе вам придется вводить пароль каждый раз, когда вы (пере) запускаете Apache.
Для пользы будущих поколений, вот краткое резюме того, как генерировать CSR-ы с OpenSSL (хорошее руководство доступно из документации по Ubuntu ):
1) Сгенерируйте ключ сервера:
Для этого необходимо указать пароль.
2) Создавая секретный ключ без пароля, введите пароль, который вы использовали выше при появлении запроса:
3) Создайте CSR с вашим закрытым ключом без пароля:
где «mydomain.org» может быть вашим доменом. Вы должны ответить на несколько вопросов в интерактивном режиме. Как только вы закончите, вы отправите
mydomain.org.csr
файл в свой центр сертификации. Вы получите обратно либо*.crt
файл, либо*.pem
файл. Давайте предположим, что они дали вамmydomain.org.crt
. Установите его в качестве своего сертификата, а файл ключа без пароля - в качестве ключа (местоположения действительны для Ubuntu 14.04, они могут быть где-то еще в других системах, проверьте документы Apache2):И, наконец, отредактируйте конфигурацию Apache2 (может быть
default-ssl.conf
):Надеюсь это поможет.
источник
Я знаю, что кто-то уже ответил на этот вопрос, но я хотел, чтобы другие знали, что случилось со мной, когда я получил эту ошибку.
В моем случае у меня по ошибке был SSLCertificateFile вместо SSLCertificateChainFile для моего набора сертификатов. Эта ошибка продолжала появляться и бросала меня в тупик. Я продолжал думать, что мой закрытый ключ был неправильным.
источник
Я знаю, что это сообщение старое, но я решил добавить к нему больше, поскольку это первая ссылка в поиске Google об ошибке - "Init: Закрытый ключ не найден"
Я видел, как это случилось раньше, и это оказалось плохим закрытым ключом. Я использовал strace для отслеживания последнего закрытого ключа, который попытался загрузить apache. После того, как я удалил его из каталога ssl и httpd.conf, Apache перезапустился без проблем.
Неверный ключ SSL: -rw-r ----- 1 root 754974732 1.7K, 31 мая 1987 г. /var/cpanel/ssl/installed/keys/c129e_4ed23_b7c0d7f821952179fc8006506ab06b72.key
Среда: ОС: CentSO 6.9 Панель управления: cPanel 11.64 Apache Version 2.2
tl;dr: Find the bad private key that Apache is trying to load and backup it up and remove it from Apache's configuration file.
Надеюсь, это поможет!
источник
code
. Спасибо за помощь.Я немного крутил свои колеса на этом, но убедитесь, что у вас есть полный файл закрытого ключа. Оказалось, у меня было несколько строк, отсутствующих в моей.
Команда для проверки вашего закрытого ключа:
замените /etc/httpd/certs/server.key на полный путь к закрытому ключу вашего сервера, и если все будет хорошо, вы увидите:
Надеюсь, это кому-нибудь поможет и, кстати, мой сервер был CentOS 7.6 с Apache / 2.4.6
источник