LINUX.ORG.RU

Не работает ssl на ubuntu 18.04+apache (проблема с файлом-ключём)

 , ,


0

1

Поставил на сервер апач, http спокойно звёлся и при переходе в браузере по домену отображалась тестовая страница. Стал настраивать ssl. У меня домен на name.com, там же вместе с ним дали бесплатно сертификат на год. С помощью openssl сгенерировал файлы .csr и .key. Пароль на ключ не ставил. Содержимое .csr поместил в соответствующее поле на name.com, получил сертификат и промежуточный сертификат, распихал их по файлам, написал конфиг для ssl версии сайта:

<VirtualHost *:443>
    ServerAdmin <email>
    ServerName <мой домен>
    ServerAlias <www.мой дмен>
    DocumentRoot /var/www/<мой домен>/html
    SSLEngine on
    SSLCertificateFile /etc/ssl/server.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key
    SSLCertificateFile /etc/ssl/intermediate.crt
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Затем проверил его на ошибки и получил «Syntax OK». Активировал сайт, перезапускаю апач и получаю ошибку. В /var/log/apache2/error.log нахожу это:

[Fri Feb 14 07:16:42.358823 2020] [ssl:error] [pid 721:tid 140364953648064] AH02579: Init: Private key not found
[Fri Feb 14 07:16:42.358872 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[Fri Feb 14 07:16:42.358882 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error
[Fri Feb 14 07:16:42.358889 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[Fri Feb 14 07:16:42.358896 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=RSAPrivateKey)
[Fri Feb 14 07:16:42.358904 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:04093004:rsa routines:old_rsa_priv_decode:RSA lib
[Fri Feb 14 07:16:42.358911 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag
[Fri Feb 14 07:16:42.358918 2020] [ssl:error] [pid 721:tid 140364953648064] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
[Fri Feb 14 07:16:42.358922 2020] [ssl:emerg] [pid 721:tid 140364953648064] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
[Fri Feb 14 07:16:42.358925 2020] [ssl:emerg] [pid 721:tid 140364953648064] AH02564: Failed to configure encrypted (?) private key <мой домен>:443:1, check /etc/ssl/intermediate.crt
AH00016: Configuration Failed

Гугл не помог. Если нужны ещё какие-то логи, то желательно указать команду/место где их можно найти.

Ответ на: комментарий от spirit

Спасибо, заработало. Но я не понимаю почему. В инструкции сказано, что начиная с какой-то там версии надо писать SSLCertificateFile. В репах старая версия? Или у меня промежуточный сертификат такой, который надо обрабатывать старой командой?

seprik_lo ()
Ответ на: комментарий от seprik_lo

Да, но там имелось в виду использование SSLCertificateFile с указанием файла, в котором есть сертификат+цепочка. http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatefile

The files may also include intermediate CA certificates, sorted from leaf to root. This is supported with version 2.4.8 and later, and obsoletes SSLCertificateChainFile. When running with OpenSSL 1.0.2 or later, this allows to configure the intermediate CA chain on a per-certificate basis.

Т.е. либо

SSLCertificateFile сертификат
SSLCertificateChainFile цепочка
SSLCertificateKeyFile ключ

либо

SSLCertificateFile сертификат+цепочка
SSLCertificateKeyFile ключ

Для последнего варианта нужно было склеить файл сертификата с файлом цепочки (сертификат должен идти первым).

spirit ★★★★★ ()