我遵循了概述的说明这里由亚马逊提供。
简要总结一下:
创建私钥
openssl genrsa -out my-private-key.pem 2048
创建了 CSR
openssl 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 的默认行为