私钥与证书不匹配
Private Key doesn't Match Certificate
我在从它们生成 CSR 和证书时遇到了一些我不完全理解的奇怪问题。
这是我所做的:
生成私钥和 CSR(如果有任何意义,在 WSL 上 Ubuntu 完成)
openssl req -newkey rsa:2048 -keyout PRIVATEKEY.key -out MYCSR.csr
将其上传到 CA 并取回以 -----BEGIN CERTIFICATE-----
开头的证书,这表明 PEM 编码的证书,对吧?
尝试将所有这些组合成一个 PFX 以便于使用
openssl pkcs12 -export -out CERTIFICATE.pfx -inkey PRIVATEKEY.key -in CERTIFICATE.cer
然后请求私钥然后抛出错误No certificate matches private key
有些人建议将证书从 DER 重新编码为 PEM,但这只会引发错误,表明证书已经是 X509
sudo openssl x509 -inform DER -outform PEM -in CERTIFICATE.cer -out CERTIFICATE.pem
unable to load certificate
140390322082240:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
140390322082240:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509
以下命令生成了相当合理的输出,因此证书在某种程度上似乎没问题
openssl x509 -in CERTIFICATE.cer -text -noout
如果对大家有用的话CA就是Telia。我过去遇到过一些问题,例如 Digicert 的证书实用程序由于某种原因不承认他们的证书有效(但这当然可能是我使用了错误的文件扩展名或其他原因造成的)。
这个问题是因为Telia用户界面的续订流程,它允许您在续订期间上传新的CSR,但它实际上忽略了这一点并在不告诉您的情况下使用旧的CSR。
我在从它们生成 CSR 和证书时遇到了一些我不完全理解的奇怪问题。
这是我所做的:
生成私钥和 CSR(如果有任何意义,在 WSL 上 Ubuntu 完成)
openssl req -newkey rsa:2048 -keyout PRIVATEKEY.key -out MYCSR.csr
将其上传到 CA 并取回以 -----BEGIN CERTIFICATE-----
开头的证书,这表明 PEM 编码的证书,对吧?
尝试将所有这些组合成一个 PFX 以便于使用
openssl pkcs12 -export -out CERTIFICATE.pfx -inkey PRIVATEKEY.key -in CERTIFICATE.cer
然后请求私钥然后抛出错误No certificate matches private key
有些人建议将证书从 DER 重新编码为 PEM,但这只会引发错误,表明证书已经是 X509
sudo openssl x509 -inform DER -outform PEM -in CERTIFICATE.cer -out CERTIFICATE.pem
unable to load certificate
140390322082240:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
140390322082240:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509
以下命令生成了相当合理的输出,因此证书在某种程度上似乎没问题
openssl x509 -in CERTIFICATE.cer -text -noout
如果对大家有用的话CA就是Telia。我过去遇到过一些问题,例如 Digicert 的证书实用程序由于某种原因不承认他们的证书有效(但这当然可能是我使用了错误的文件扩展名或其他原因造成的)。
这个问题是因为Telia用户界面的续订流程,它允许您在续订期间上传新的CSR,但它实际上忽略了这一点并在不告诉您的情况下使用旧的CSR。