背景
- 我们有 MS Azure 云托管
- 从第 3 方(非 Microsoft)为我的域购买了通配符 SSL 证书
- 创建了 CSR 文件 + 私钥文件
- 使用这些证书并已从 SSL 颁发者处颁发 x509 和 PKCS7 证书
- Azure 需要一个 PFX 文件,因此一直在尝试按照此处的 ssl.com 教程进行操作:https://www.ssl.com/how-to/create-a-pfx-p12-certificate-file-using-openssl/
问题
在我本地机器的终端中运行 openssl 命令(为便于阅读插入中断)
openssl pkcs12 -export -out certificate.pfx -password pass:somepassword
-inkey domain.key -in certificate.crt
我收到以下错误:
140735704675208:error:0906D06C:PEM routines:PEM_read_bio:no start line
:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22/libressl/crypto/pem/pem_lib.c:704:
Expecting: ANY PRIVATE KEY
但是我已经提供了 key ?我很困惑。说到 Azure,我是 SSL 初学者。我做错了什么?
请注意,我包含了 -password 参数,因为 MS Azure 希望 PFX 文件受密码保护。这不是可选的:它们必须受到保护。
编辑
使用 Openssl 重新生成 CSR 和 key 后,我收到一个新错误,指出 key 文件无效。为了确保我没有遗漏一些明显的东西:
- 我可以用 X509 做什么?
- 我可以用 PKCS7 做什么?
最佳答案
厌倦了摆弄 openssl 和终端,所以找到了一个 GUI 来做这件事。步骤:
- 复制X509内容,粘贴到代码编辑器,另存为cert.pem
- 复制私钥,粘贴到代码编辑器,另存为private.key
- 转到 https://help.configuressl.com/ssl-tools/ssl-converter/ , 上传两者
- 设置密码
- 导出为 PFX
这会生成一个受密码保护的 PFX,然后可以将其上传到 Azure。
关于azure - 尝试创建受密码保护的 PFX 文件导致 openssl 错误 : ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374502/