openssl对rsa密钥的管理用法

一、首先安装openssl(网上下载)

二、然后,通过jdk自带的keytool工具创建秘钥对

1.创建rsa密钥对(公钥和私钥)并储存在keystore文件中:

keytool -genkeypair -alias "myalias" -keyalg RSA -keystore keystore.jks

2. 从keystore文件中导出使用x509标准验证的数字证书,包含公钥:

keytool -exportcert -alias "myalias" -file cert.cer -keystore keystore.jks

注意:

keytool没有提供从keystore文件导出私钥的工具,需要编程实现此功能。

从keystore文件导出的证书、密钥都是DER格式,可以使用openssl工具转换成PEM格式。


三、openssl

1.openssl是一套强大的工具集,包含各种加解密算法,信息摘要及签名算法,密钥和证书管理等。

2.openssl使用的默认数据格式是PEM格式,也支持DER格式,可以进行互相转换。

3.创建私钥:

openssl genrsa -out private.key
若需要对私钥加密,可以使用 -des -des3等参数。

4.密钥管理,格式转换

使用私钥创建对应的公钥

openssl rsa -in private.key -out public.pem -pubout

5. DER/CER格式公钥转换为PEM格式

<span style="font-family: Arial; font-size: 14px; line-height: 26px;">openssl x509 -inform der -in mycer.cer -out mycer.pem</span>

6. x509命令用于管理x509标准的证书

将DER/CER格式证书转换成PEM格式

openssl x509 -in cert.cer -inform der -outform PEM -out cert.pem

从证书中导出公钥

openssl x509 -in cert.pem -pubkey -out public.pem


7. pkcs8,pkcs12命令用于管理私钥的pkcs编解码

将密钥使用pkcs8加密

openssl pkcs8 -in private.key  -nocrypt -topk8 -out private.p8
将pkcs8密钥解密

openssl pkcs8 -in private.p8 -nocrypt



8. PEM--DER/CER(BASE64--DER编码的转换)

openssl x509 -outform der -in mycer.pem -out mycer.der
9. PEM--P7B(PEM--PKCS#7)

openssl crl2pkcs7 -nocrl -certfile mycer.cer -out mycer.p7b
10. PEM--PFX(PEM--PKCS#12)

openssl pkcs12 -export -out mycer.pfx -inkey privateKey.key -in mycer.crt -certfile mycer.crt
11. PEM--p12(PEM--PKCS#12)

openssl pkcs12 -export -out Cert.p12 -in Cert.pem -inkey key.pem

12. P7B--PEM(PKCS#7--PEM)

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
13. P7B--PFX(PKCS#7--PKCS#12)

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
14. PFX/p12--PEM(PKCS#12--PEM)

openssl pkcs12 -in certificate.pfx -out certificate.cer
如无需加密pem中私钥,可以添加选项-nodes;
如无需导出私钥,可以添加选项-nokeys;

15. PEM BASE64--X.509文本格式

openssl x509 -in Key.pem -text -out Cert.pem
16. PFX文件中提取私钥(.key)

openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key
17. PEM--SPC

openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc
18. PEM--PVK(openssl 1.x开始支持)

openssl rsa -in mycert.pem -outform PVK -pvk-strong -out mypvk.pvk

19. PEM--PVK (对于openssl 1.x之前的版本,可以下载 pvk转换器 后通过以下命令完成)

pvk -in ca.key -out ca.pvk -nocrypt -topvk












转载于:https://my.oschina.net/u/1436110/blog/691666

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值