![Windows Server 上的 OpenSSL 从 pfx 提取证书链](https://linux22.com/image/662867/Windows%20Server%20%E4%B8%8A%E7%9A%84%20OpenSSL%20%E4%BB%8E%20pfx%20%E6%8F%90%E5%8F%96%E8%AF%81%E4%B9%A6%E9%93%BE.png)
我正在尝试将我们的证书上传到 AWS 证书存储以供 CloudFront 使用。
首先,我尝试在没有链包的情况下上传它。当我尝试在 CloudFront 端点上启用它时,出现了错误,提示它没有有效的证书链。
因此我尝试使用以下命令从 PFX 档案中提取证书链:
openssl pkcs12 -in archive.pfx -nodes -nokeys -cacerts -passin pass:password | openssl x509 -chain -out bundle.crt
但是它说unknown option -chain
我已经在 Google 上搜索了很多次,但每次我打开一个解释如何提取链束的页面时,它都会说使用开关-chain
。
我认为尝试上传第一个命令的输出可能就足够了。当我这样做时,AWS-CLI 显示以下内容:
Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. The index within the chain of the invalid certificate is: -1
答案1
奇怪的是,OpenSSL 在转储 PKCS12 密钥库时没有按正确的顺序放置证书。
将证书转储到 PEM 文件:
openssl pkcs12 -in archive.pfx -nodes -nokeys \
-passin pass:password -out chain.pem
随后编辑文件以使其按正确的顺序排列。
-chain
仅对子命令有效pkcs12
,并在以下情况下使用创造PKCS12 密钥库。