我已经使用以下内容转换了 CER/DER 证书:
openssl x509 -inform der -in hostname.cer -out hostname.pem
生成的 PEM 文件仅包含:
-----BEGIN CERTIFICATE-----
... contents here..
-----END CERTIFICATE-----
但它没有包含关键部分,这正常吗?所以我不能在 PHP/SOAPClient 中使用它,因为它不会连接到主机。
另一方面,我已成功将 PFX/P12 格式转换为 PEM,生成的文件同时包含证书和密钥。但在上述 DER 格式证书的情况下,它没有。
我用来将 PFX 转换为 PEM 的是:
openssl pkcs12 -in ALEXANDRU_CATALIN.pfx -clcerts -nokeys -out ALEXANDRU_CATALIN_mycert.pem
openssl pkcs12 -in ALEXANDRU_CATALIN.pfx -nocerts -nodes -out ALEXANDRU_CATALIN_mykey.pem
然后将两个文件的内容合并到一个名为bundle.pem
. 这行得通,我以一个带有 bot 证书和密钥的文件结束,它通过 SOAP 连接到 API,但正如我所说的 DER 到 PEM 并没有给我一个可以工作的证书。
对此有什么想法吗?我错过了什么吗?DER 格式是否不包含密钥?我需要别的东西吗?