Назад | Перейти на главную страницу

Openssl, мой закрытый ключ отсутствует или утерян

Я пытаюсь настроить ssl на своем веб-сервере для https. Я дошел до того, что кажется, что все, что мне не хватает, - это мой закрытый ключ. Сначала я следовал этому руководству https://buddycloud.org/wiki/Quickly_create_valid_SSL_certificates, и он не смог создать файл pkcs12 или pem. Теперь я нашел способ не использовать файлы pkcs12 и pem, но для этого нужен мой закрытый ключ, который я не знаю, где и как я должен получить / сгенерировать?

Мой веб-сервер - это линод, на котором запущен gentoo с apache2 и vhosts.

Выдержка из моего журнала ошибок apache2:

[Thu Jan 10 18:18:39 2013] [error] Init: Private key not found
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218640442 error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 67710980 error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Thu Jan 10 18:18:39 2013] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

В этом руководстве предлагается поместить ключ в хранилище ключей. Вы должны увидеть свои существующие ключи с помощью:

keytool -keystore ~/.keystore -list

Чтобы экспортировать его, У Sec.SE есть ответ.


Управление ключами важно. Если вы не знаете, где находятся все копии вашего ключа, безопасность вашего SSL подвергается риску. Если у кого-то есть ваш ключ, он может расшифровать все SSL-соединения, использующие сгенерированный на его основе сертификат.

Закрытый ключ необходим для работы SSL, и нет практического способа восстановить ключ из сертификата (.crt) или запрос на подпись сертификата (.csr).

Если вы не можете найти свой ключ, вам следует создать новый ключ и повторить процесс еще раз. Вы также можете достичь тех же целей, используя разные руководства, которые не используют keytool но вместо этого просто скопируйте файлы. Большинство руководств заканчиваются двумя или тремя файлами, .crt, а .key и, возможно, сертификат цепи. Вам также может понадобиться четвертый файл, который Apache вызывает SSLCACertificateFile. Вы воля этот файл понадобится, если вы используете StartSSL.