【发布时间】:2016-07-11 03:42:51
【问题描述】:
我正在尝试将通配符 SSL 证书转换为 PEM 格式,以便可以在 Amazon 的 Cloudfront 中使用它。我唯一可用的文件格式是 pfx。我尝试使用以下命令:
从 PFX 中提取私钥
openssl pkcs12 -in {site}.pfx -nocerts -nodes -passin pass:{password} | openssl rsa -out {site}.key
从 PFX 中提取公钥
openssl pkcs12 –in {site}.pfx -clcerts -nokeys -passin pass:{password} | openssl x509 -out {site}.cer
从 PFX 中提取链束
openssl pkcs12 -in {site}.pfx -nodes -nokeys -cacerts -passin pass:{password} | openssl x509 -out bundle.crt
前两个命令运行没有任何问题,但最后一个返回以下内容:
MAC verified OK
unable to load certificate
17856:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:701:Expecting: TRUSTED CERTIFICATE
任何帮助将不胜感激!
【问题讨论】:
-
当(且仅当)PFX 包含 just 服务器证书和 no CA 证书时,您应该会收到该错误。执行
openssl pkcs12 -in whatever.pfx -nokeys并查看显示了多少 BEGIN CERTIFICATE/END CERTIFICATE 块以及每个块的名称(主题和颁发者)。 PS:-nodes无用,与-nokeys一起忽略;如果/当有多个 CA 证书时,通过openssl x509的管道会丢弃除第一个之外的所有证书,从而给出可能无用的结果。 -
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?。
标签: ssl openssl amazon-cloudfront pem pfx