-2

我需要将 RSA 密钥对转换为 .p12,但我无法做到。我使用 openssl 尝试了不同的方法,但我仍然失败。

我有以下

-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----


-----BEGIN RSA PRIVATE KEY-----
....
-----END RSA PRIVATE KEY-----

看来我缺少基础知识......我从服务提供商那里得到的唯一东西是 RSA 公钥和私钥。targetlandscape 仅支持 .p12。

我试过了

openssl pkcs12 -export -out DocusignPrivate.p12 -inkey DocusignPrivate.pem -in DocusignPublic.pem 

感谢您的帮助!

最好的问候马丁

4

1 回答 1

1

这不是编程或开发问题或问题,并且可能会被选为题外话,因为近年来随着许多其他堆栈的存在,SO 变得更加严格。

PKCS12 不能存储裸公钥;(相反)它存储包含公钥的 X.509 证书。当您没有“真正的” CA 颁发的证书时,通常的做法是创建一个虚拟(自签名)证书。有多种方法可以做到这一点,包括使用 OpenSSL 的几种方法,可能还有数百个现有的 Q 和 As 关于它们,但最简单的是

openssl req -new -x509 -key $privkey -days 365 -subj "/CN=somename" -out $cert
# adjust days if desired; depending on the software that will use this p12 
# and your version of openssl, may need to specify signing hash e.g. -sha256
#
# then use openssl pkcs12 -export -inkey $privkey -in $cert -out $p12
于 2020-11-07T19:18:21.990 回答