使用openssl生成证书、cer文件、key公私钥、pfx证书、pem公私钥

文章转自:https://blog.csdn.net/solyutian/article/details/84033765

概述

在对接第三方的时候经常会用到秘钥加密传输数据,需要生成cer文件、key公私钥、pem公私钥去测试接口,这里用openssl去生成公钥私钥,非常好用。
附上window下openssl的安装教程:
https://blog.csdn.net/sunhuansheng/article/details/82218678

生成秘钥

打开控制台:
openssl安装完成后ctrl+r打开控制台,输入openssl进入OpenSSL模式。或者进入秘钥需要生成的目录,在路径栏输入cmd进入当前目录的控制台。
在这里插入图片描述
进入openssl模式:
在这里插入图片描述

1、生成key
OpenSSL> genrsa -out 20210106.key 1024

20210106.key 是生产key的名称可随意 。 1024是生成密钥的长度。

2、生成cer证书
OpenSSL> req -new -x509 -key 20210106.key -out 20210106.cer -days 3650 -subj /CN=baidu.com

20210106.key为之前生成的key的名字,20210106.cer为生成的证书名字,3650为证书过期天数,CN的参数baidu.com是的你主机名或者IP地址。

3、生成pfx证书
OpenSSL> pkcs12 -export -out 20210106.pfx -inkey 20210106.key -in 20210106.cer

注意:生成pfx证书会提示设置密码,此密码要记住,提取密钥时要输入此密码

4、从pfx里提取出密钥对
OpenSSL> pkcs12 -in 20210106.pfx -nocerts -nodes -out pubAndPri.key

提取密钥对需要输入生成fpx证书时输入的密码,通过密钥对可以提取公钥跟私钥。

5、从密钥对里提取出私钥
OpenSSL> rsa -in pubAndpri.key -out openssl_pri.key
6、从密钥对里提取出公钥
OpenSSL> rsa -in pubAndpri.key -pubout -out openssl_pub.key
7、因为RSA算法使用的是pkcs8模式补足,需要对提取的私钥进一步处理
OpenSSL> pkcs8 -topk8 -inform PEM -in openssl_pri.key -outform PEM -nocrypt

在这里插入图片描述

8、保存处理过的私钥

复制窗口中生成的密钥到文本编辑器中保存,命名为 openssl_pri_pkcs8.key 。

9、生成pem公私钥
9.1 生成pem私钥(PKCS1格式)
OpenSSL> genrsa -out private_key.pem 1024
9.2 PKCS1私钥转换为PKCS8(该格式一般java调用)
OpenSSL> pkcs8 -topk8 -inform PEM -in private_key.pem -outform pem -nocrypt -out private_pkcs8.pem
9.3 生成公钥
OpenSSL> rsa -in private_key.pem -out rsa_public_key.pem -pubout

-----------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------
一连串操作下来最后得到的目录:
在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值