Установка SSL-сертификата приводит к сбою сервера при перезапуске - PullRequest
22 голосов
/ 08 февраля 2012

Я получил свой сертификат по электронной почте, а затем создал необходимые файлы и скопировал его. Я пошел, чтобы перезагрузить свой сервер и получил следующие ошибки.

[Ср. 08 фев. 13:02:06 2012] [ошибка] Init: Невозможно прочитать сертификат сервера из файла /home/sslcertificates/mydomain.crt [Wed Feb 08 13:02:06 2012] [error] Ошибка библиотеки SSL: ошибка 218529960: 0D0680A8: процедуры кодирования asn1: ASN1_CHECK_TLEN: неправильный тег [Wed Feb 08 13:02:06 2012] [error] Ошибка библиотеки SSL: ошибка 218595386: 0D07803A: процедуры кодирования asn1: ASN1_ITEM_EX_D2I: вложенная ошибка asn1

У кого-нибудь есть идеи?

Ответы [ 9 ]

20 голосов
/ 08 марта 2012

Другой возможный источник сбоя, который вызывает это сообщение об ошибке: Вместо файла сертификата я связался с файлом запроса на сертификацию. Это узнаваемо, когда вы читаете первую строку файла: Или

-----BEGIN CERTIFICATE REQUEST-----

или

-----BEGIN CERTIFICATE-----    

: -)

13 голосов
/ 31 июля 2015

Ситуация: Apache 2.4, использующий сертификат StartSSL, генерирует ошибку кодирования ASN

Проблема:

AH02564: Failed to configure encrypted (?) private key <domain>.com:80:0, check /etc/pki/tls/certs/ssl.key

Некоторые эмитенты SSL по умолчанию шифруют файлы ключей ssl, поэтому обязательно расшифруйте их на сервере и укажите виртуальный хост.

Просто откройте файл ключа, чтобы убедиться, что он не зашифрован.

enter image description here

Расшифровать файл ключа для mod_ssl

openssl rsa -in ssl.key -out ssl.key

Для настройки SSL в Apache conf (httpd.conf) добавьте следующие конфигурации и перезапустите Apache.

enter image description here

# SSL
<VirtualHost *:443>
    ServerName gajen.com
    SSLCertificateKeyFile /etc/pki/tls/certs/ssl.key
    SSLCertificateFile /etc/pki/tls/certs/ssl.crt
    SSLCertificateChainFile /etc/pki/tls/certs/root.ca.pem
</VirtualHost>

Для устранения неполадок:

  • Сначала отладить Apache tail 50 /var/log/httpd/error_log
  • Отладка mod_ssl tail 50 /var/log/httpd/ssl_error_log
9 голосов
/ 14 февраля 2015

В моем случае у меня были смешанные сертификаты: SSLCertificateFile имел сертификат private_key, а SSLCertificateKeyFile - сертификат.

5 голосов
/ 06 июля 2014

Оставьте это здесь, так как это первый поиск в Google с ошибкой: это также может быть вызвано тем, что вы устанавливаете новый сертификат, защищенный парольной фразой, и просто перезагружаете конфигурацию apache (а не перезапускаете apache полностью).Сама перезагрузка не выдаст никаких ошибок, но также не будет запрашивать вашу фразу-пароль и не сможет расшифровать сертификат.

Это может быть решено путем полного перезапуска apache, который запросит кодовую фразу и позволит вам расшифровать.

0 голосов
/ 04 октября 2018

У меня была эта проблема, потому что мне отправили содержимое файла .p7b в стиле IIS, вставленного в электронное письмо. Он имеет теги "----- BEGIN CERTIFICATE -----" и "----- END CERTIFICATE -----", как и .pem, а в контенте используется похожая кодировка base64. Я преобразовал его в * .pem файл так:

openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

После этого Apache 2.2 был счастлив.

0 голосов
/ 13 сентября 2018

Недавно во время установки SSL в Apache 2.4 мы столкнулись с той же ошибкой - «процедуры кодирования asn1»

Мы правильно разместили все файлы и указали их в файле .conf. После дня устранения неполадок мы поняли, что проблема не в конфигурации после получения сертификата.

Мы создали запрос на подпись сертификата (CSR), используя встроенную систему наших поставщиков. Это позволило нам вставить ключ, который мы создали. Сертификат SSL, возвращенный поставщиком, должен был отображать этот CSR, который был сопоставлен с нашим закрытым ключом. Видимо это не совпало. Предоставленный сертификат SSL не сопоставляется с CSR.

Возможная причина Преобразование «ключ к CSR» неверно на стороне поставщика из-за окончаний строки Unix (\ n вместо \ r \ n) / кодировки (ANSI / UTF8) / ожидаемых новых строк.

Мы сами создали CSR, используя OpenSSL, и обошли генерацию CSR вендора. Это сработало. Итак, в нашем случае создание ключа и соответствующего CSR с использованием OpenSSL и использование этого для генерации открытого SSL сработало.

Команда OpenSSL

openssl req -new -sha256 -key ~/site.com.ssl/site.com.key -out ~/site.com.ssl/site.com.csr
0 голосов
/ 05 февраля 2015

Или вам нужно перед отключением автоподачи старого пароля.Правило комментирования вроде:

#SSLPassPhraseDialog exec:/etc/ssl/passphrase-script
0 голосов
/ 11 июля 2013

Проблема решена с помощью воссоздания файла * .key и повторного копирования и вставки содержимого.

0 голосов
/ 08 февраля 2012

Похоже, ваш SSL-сертификат не соответствует правилам кодировки ASN.1.Эта книга может помочь вам найти причину: ASN.1 Complete

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...