怎么把已有的RSA公私钥转换成PKCS8格式

怎么把已有的RSA公私钥转换成PKCS8格式

1,下载OpenSSL工具

1)、Linux用户(以Ubuntu为例) 


sudo apt-get install openssl 

2)、Windows用户 
开发者可以在OpenSSL官方网站下载Windows的OpenSSL安装包进行安装。

二、RSA私钥及公钥生成

1) Linux用户(以Ubuntu为例) 
$ openssl 进入OpenSSL程序 
OpenSSL> genrsa -out rsa_private_key.pem 1024 生成私钥 
OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt Java开发者需要将私钥转换成PKCS8格式 
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 生成公钥 
OpenSSL> exit ## 退出OpenSSL程序 

2) 
Windows用户

1.找到刚才安装的OpenSSL,打开其下的bin文件夹,双击openSSL.exe文件,执行程序,
2,输入命令: genrsa -out rsa_private_key.pem 1024 ,并回车得到生成成功的结果,如下图:
怎么把已有的RSA公私钥转换成PKCS8格式
此时,我们可以在bin文件夹中看到一个文件名为rsa_private_key.pem的文件,用记事本方式打开它,可以看到—–BEGIN RSA PRIVATE KEY—–开头,—–END RSA PRIVATE KEY—–结尾的没有换行的字符串,这个就是原始的私钥。
3,生成的原始私钥并不是我们想要转换的私钥,那么就要替换rsa_private_key.pem文件中的私钥了.

怎么把已有的RSA公私钥转换成PKCS8格式
打开rsa_private_key.pem文件,如上图所示,红框中的内容是生产的原始私钥,把它替换成我们所想转的RSA私钥,

4,把RSA私钥转换成PKCS8格式

输入命令:
pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
,并回车当前界面中会直接显示出生成结果,这个结果就是PKCS8格式的私钥,如下图:

怎么把已有的RSA公私钥转换成PKCS8格式
右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图), 
此时继续右键点击openssl窗口上边边缘,选择编辑→复制, 就把PKCS8格式的私钥复制出来了.到此就结束了.

5、生成RSA公钥

输入命令:rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,得到生成成功的结果,此时,我们可以在bin文件夹中看到一个文件名为rsa_public_key.pem的文件,用记事本方式打开它,可以看到—–BEGIN PUBLIC KEY—–开头,—–END PUBLIC KEY—–结尾的没有换行的字符串,这个就是公钥。 



****************************************************文章参考来源是蚂蚁金服https://cshall.alipay.com/enterprise/knowledgeDetail.htm?knowledgeId=201602033418
 小编只做了少量实践修改.*******************************************
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 背包九讲Java版本

    背包九讲Java版本packagedp;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;/***背包九讲**@ProjectName:algorithm*@Package:dp*@Description:TODO*@Author:bipa*@Date:2022/1/88:00*/publicclassPack{/***01背包(

    2022年6月28日
    23
  • QTreeview上面划线[通俗易懂]

    QTreeview上面划线[通俗易懂]因为要做一个动画编辑器功能,需要有时间标线,我使用了QTreeview作为显示控件,但是上面划线就是个大问题,经过几番尝试终于找到办法了。先上图具体办法就是继承了qtreeview并且重载paintevent这个函数voidActionTreeView::paintEvent(QPaintEvent*event){Q_UNUSED(event);QTreeView::pa

    2022年5月30日
    46
  • Vue(4)Vue指令的学习1「建议收藏」

    Vue(4)Vue指令的学习1「建议收藏」前言Vue官网一共有提供了14个指令,分别如下v-textv-htmlv-showv-if☆☆☆v-else☆☆☆v-else-if☆☆☆v-for☆☆☆v-on☆☆☆v

    2022年7月31日
    5
  • 浏览器dns缓存清理_怎么清除ip地址缓存

    浏览器dns缓存清理_怎么清除ip地址缓存有dns的地方,就有缓存。浏览器、操作系统、LocalDNS、根域名服务器,它们都会对DNS结果做一定程度的缓存。本文总结一些常见的浏览器和操作系统的DNS缓存时间浏览器先查询自己的缓存,查不到,

    2022年8月6日
    42
  • 面试官:你连RESTful都不知道我怎么敢要你?

    面试官:你连RESTful都不知道我怎么敢要你?干货,2019RESTful最贱实践

    2022年5月5日
    52
  • C#通过接口获取税控盘基本信息「建议收藏」

    C#通过接口获取税控盘基本信息「建议收藏」C#读盘需要引用C++DLL通过传入XML报文,传出XML报文注意事项程序必须使用32位除了查询基本信息无需注册码外,其它操作均需要注册码。注册码来源不明开票有开票接口组件,本文仅读取盘内的基本信息接口定义skpc.dll文件依赖NISEC_SKP.dll、ZLib_Tools.dll//税控盘接口////载入DLL[DllImport(“skpc.dll”,…

    2022年6月2日
    112

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号