SSL 问题:私钥与提供的公钥不匹配

SSL 问题:私钥与提供的公钥不匹配

我遵循了概述的说明这里由亚马逊提供。

简要总结一下:

  1. 创建私钥 openssl genrsa -out my-private-key.pem 2048

  2. 创建了 CSRopenssl req -sha256 -new -key my-private-key.pem -out csr.pem

从 CA(我这里是 Comodo)获取了一个 zip 文件,其中包含

  • 我的站点.crt
  • 代表证书链的三个文件。

问题 1: 运行以下两个命令来验证证书是否与私钥匹配,我得到了不同的 MD5 代码

openssl rsa -noout -modulus -in my-private-key.pem | openssl md5
openssl x509 -noout -modulus -in my-site.crt | openssl md5

即密钥不匹配。知道原因吗?

问题2: 在很多地方,我注意到文档要求使用以下命令将密钥文件转换为 pem 文件

openssl rsa -in my-private-key.pem -outform PEM > aws.private.pem

但是输出文件与输入完全相同。那么为什么要这样做呢?

我从 CA 获得的 crt 文件也一样

openssl x509 -inform PEM -in my-site.crt > aws.public.pem

再次,输出文件与输入完全相同,仅扩展名不同。

这两个步骤是/为什么是必要的?

谢谢

答案1

问题 1

请参阅我的评论

问题2

第一个命令 ( openssl rsa) 删除密钥文件的加密(如果有的话)。这是必要的,因为 Web 服务器通常使用未加密的密钥文件。

第二个命令 ( ) 可能做的唯一一件事openssl x509是更改 PEM 标头,但可能不需要这样做。如果您使用-inform der该命令,它会将二进制证书转换为 PEM(base64+标头)编码的证书。

-outform PEM顺便说一下,命令中的和开关-inform PEM是无用的,因为这是 openssl 的默认行为

相关内容