【问题标题】:Private Key doesn't Match Certificate私钥与证书不匹配
【发布时间】:2020-10-29 21:18:39
【问题描述】:

我在生成 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 的证书实用程序由于某种原因无法识别他们的证书(但这当然可能是由于我使用了错误的文件扩展名或其他原因)。

【问题讨论】:

  • 确保你的私钥没有被加密,然后你可以运行openssl rsa -modulus -noout -in private.key | openssl md5openssl x509 -modulus -noout -in certificate.file | openssl md5这些应该匹配

标签: ssl openssl ssl-certificate


【解决方案1】:

此问题是由于 Telia 用户界面中的续订过程造成的,它允许您在续订期间上传新的 CSR,但它实际上忽略了这一点,并在不告诉您的情况下使用旧的 CSR。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2020-07-13
    • 2021-11-06
    • 2022-07-26
    • 2013-09-29
    • 1970-01-01
    相关资源
    最近更新 更多