我正在使用nginx设置SSL连接,但我的密钥无效。
当我重新启动nginx时,我收到以下错误:
Restarting nginx: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/home/[user]/CC/[domain].com.key.pem") failed (SSL: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:Field=algorithm, Type=X509_ALGOR error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:Field=algor, Type=X509_SIG error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
nginx的。
我有原始请求中的密钥,但它说格式错误。为了检查自己,我在一个不同的文件夹中创建了一个新密钥,并且一个工作正常(要求输入密码等)
顶部是我想要工作的关键,底部是工作的关键。你注意到格式有什么不同吗?我删除了中间字符以保证安全性,但格式没有改变。
$ cat [domain]com.key.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAALYmQ==
-----END ENCRYPTED PRIVATE KEY-----
$ cat 2/[domain]com.key.pem
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+RM=
-----END ENCRYPTED PRIVATE KEY-----
答案 0 :(得分:0)
当您在短时间内重复解锁时,尤其是当您错误地输入密码短语时,这似乎就会出现。我认为这可能是OpenSSL强制执行的有关重复解锁未更改证书的安全策略。或者这可能是缓存问题。但是将文件标记为“已更改”足以重置(安全性?)缓存:
$ touch /path/to/key.pem
根据您对密钥的权限,您可能必须使用sudo
。