Openssl,我的私钥丢失或丢失

Openssl,我的私钥丢失或丢失

我正在尝试在我的网络服务器上为 https 设置 SSL。我到现在似乎只缺少我的私钥。我最初遵循了本指南https://buddycloud.org/wiki/Quickly_create_valid_SSL_certificates,无法生成 pkcs12 或 pem 文件。现在我找到了一种不使用 pkcs12 和 pem 文件的方法,但它需要我的私钥 - 我不知道在哪里或如何获取/生成私钥?

我的网络服务器是运行带有 apache2 和 vhosts 的 gentoo 的 linode。

摘自我的 apache2 error_log:

[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

答案1

该指南建议将密钥放入密钥库中。您应该能够使用以下命令查看现有密钥:

keytool -keystore ~/.keystore -list

要导出它,Sec.SE 有答案


密钥管理非常重要。如果您不知道密钥的所有副本在哪里,您的 SSL 安全性就会受到损害。如果其他人拥有您的密钥,他们可以解密使用由此生成的证书的所有 SSL 通信。

SSL 工作需要私钥,并且没有实际的方法可以从证书(.crt)或证书签名请求(.csr)重新生成密钥。

如果找不到密钥,则应创建一个新密钥并重试该过程。您也可以使用不使用keytool而只是复制文件的不同指南来实现相同的目标。大多数指南最终都会有两个或三个文件,一个.crt,一个.key和一个可选的链证书。您可能还需要 Apache 调用的第四个文件SSLCACertificateFile。您将要如果您使用 StartSSL,则需要此文件。

相关内容