美文网首页
openssl从PFX导出私钥、公钥

openssl从PFX导出私钥、公钥

作者: 摩卡奇 | 来源:发表于2017-09-11 09:03 被阅读1579次

数字证书文件格式(cer和pfx)的区别

  1. PFX是带有私钥的证书(包含公钥和私钥)
    由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名(文件的扩展名可以为pfx或p12)。

  2. CER二进制编码的证书(只包含公钥)
    证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。

  3. Base64编码的证书(只包含公钥)
    证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。

如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。

如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密

从pfx导出公、私钥

从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)

  1. 提取密钥对(如果pfx证书已加密,会提示输入密码。)
    openssl pkcs12 -in 1.pfx -nocerts -nodes -out 1.key

  2. 从密钥对提取私钥
    openssl rsa -in 1.key -out 1_pri.key

  3. 从密钥对提取公钥
    openssl rsa -in 1.key -pubout -out 1_pub.key

  4. 因为RSA算法使用的是pkcs8模式补足,需要对提取的私钥进一步处理(可选)
    openssl pkcs8 -in 1_pri.key -out 1_pri.p8 -outform der -nocrypt -topk8

将pfx成一个cer

openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

另:

apple developer中关于CSR证书请求文件(本机生成Cert Signing Request),它只是包含公钥的一个文件文件,传到apple开发者网站,去下载apple的对此商家签名后的公钥,用以后续开发操作。

另:如果生成tomcat需要的证书文件

keytool -import -v -trustcacerts -storepass 123456 -alias root -file xxx.im.crt -keystore xxx.jks

相关文章

  • openssl从PFX导出私钥、公钥

    数字证书文件格式(cer和pfx)的区别 PFX是带有私钥的证书(包含公钥和私钥)由Public Key Cryp...

  • 从PFX文件中获取私钥、公钥证书、公钥

    该类具体功能:根据pfx证书得到私钥、根据私钥字节数组获取私钥对象、根据公钥字节数组获取公钥、根据pfx证书获取证...

  • ios RSA加密

    后台给的公钥,私钥,不管是公钥加密私钥解密还是私钥加密公钥解密都是可以的,但是Mac 通过openssl生成的公钥...

  • iOS RSA 加密解密

    前言 后台给的公钥,私钥,不管是公钥加密私钥解密还是私钥加密公钥解密都是可以的,但是Mac 通过openssl生成...

  • php实现非对称加密

    使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密。 1.安装opens...

  • 支付宝

    ##支付宝支付注意事项 laravel 1.openssl 2.openssl 生成的key 公钥和私钥 私钥本...

  • python实现rsa加密解密

    生成rsa加密解密所使用的公钥私钥 生成私钥:openssl genrsa -out rsaprivatekey....

  • openssl——自签名根证书、签名客户端和服务器证书

    生成根证书: 1,创建私钥(私钥公钥对): openssl genrsa -out root.key 2048 也...

  • iOS RSA 加密解密

    生成公钥私钥 1.cd 文件夹 2. 执行Mac自带的openssl命令 终端执行:openssl 3. 生成私钥...

  • Mac 生成RSA公钥 私钥,并验证.

    第一步:生成公钥私钥 Mac 机器本身内置 openssl 所以我们可以直接在 终端生成公钥,私钥 1.cd 到 ...

网友评论

      本文标题:openssl从PFX导出私钥、公钥

      本文链接:https://www.haomeiwen.com/subject/spyxsxtx.html