如何使用命令生成RSA2密钥

简介: 说明:   本帖主要说明如何使用命令来生成RSA2密钥。    使用密钥工具生成RSA2密钥(推荐使用):    帖子地址:[url]https://openclub.alipay.com/read.

说明: 
  本帖主要说明如何使用命令来生成RSA2密钥。 
   使用密钥工具生成RSA2密钥(推荐使用): 
   帖子地址:[url]https://openclub.alipay.com/read.php?tid=1833&fid=46[/url] 
   视频地址:[url]https://openclub.alipay.com/index.php?c=read&a=video&fid=76&tid=3699[/url] 

生成步骤: 
 一,下载密钥生成工具 
 下载地址[url]https://docs.open.alipay.com/291/105971[/url] 

  下载成功后解压文件,打开secret_key_tools_RSA_win\openssl\bin路径下的openssl.exe文件。如下图

 运行openssl.exe文件后出现命令输入框如下图:

 二、输入命令,生成RSA2密钥 
    1、生成RSA2原始私钥(即pkcs1私钥)输入命令,如果是生成RSA格式的秘钥 后面的长度则传入 1024: 

OpenSSL> genrsa -out app_private_key.pem   2048  #生成原始私钥

如下图:

 执行命令会在当前文件夹中生成一个app_private_key.pem文件夹,即原始私钥。如下图:

 打开app_private_key.pem文件后如下: 



 2、根据原始私钥生成pkcs8格式的RSA2私钥(Java适用)以及公钥 
输入命令: 

OpenSSL> pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem #将原始私钥转换成PKCS8格式OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem #生成公钥OpenSSL> exit #退出OpenSSL程序
命令截图如下

执行成功后在当前文件夹中生成app_private_key_pkcs8.pem(即PKCS8格式的RSA2私钥)以及 
 app_public_key.pem(公钥),如下图,加上原始私钥的文件一共是三个pem文件:

 至此,需要生成的RSA2秘钥已经生成完毕,使用exit命令退出OpenSSL程序即可。 

 3、注意事项 
 ①对于使用Java的开发者,需将生成的pkcs8格式的私钥去除头尾、换行和空格,转成一行作为私钥填入代码中,如: 

 处理后的私钥示例: 

 ②上传应用公钥需要将公钥文件去除头尾(需要注意公钥是pkcs1和pkcs8通用的不需要进行格式转换,去除头尾即可如下: 

 转换后的公钥如下: 

将此公钥 上传到开放平台的应用公钥位置并获取支付宝公钥即可。
目录
相关文章
|
移动开发 Java 数据安全/隐私保护
C#RSA加密解密签名类,支持PEM格式解密(1024或2048位)
主要介绍了PEM PKCS#8、PKCS#1公钥和私钥在C#中的使用,并以此为基础写的C#函数方法。
3961 1
|
消息中间件 存储 NoSQL
Redis 竟然能用 List 实现消息队列
今天,码哥结合消息队列的特点一步步带大家分析使用 Redis 的 List 作为消息队列的实现原理,并分享如何把 SpringBoot 与 Redission 整合运用到项目中。
1165 0
Redis 竟然能用 List 实现消息队列
|
8月前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
9月前
|
存储 缓存 NoSQL
【Redis】 常用数据结构之String篇:从SET/GET到INCR的超全教程
无论是需要快速缓存用户信息,还是实现高并发场景下的精准计数,深入理解String的特性与最佳实践,都是提升Redis使用效率的关键。接下来,让我们从基础命令开始,逐步揭开String数据结构的神秘面纱。
|
Java Nacos 网络架构
SpringCloud Gateway的使用 + Nacos动态路由
SpringCloud Gateway的使用 + Nacos动态路由
|
前端开发 Java 数据库
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
1134 0
|
运维 安全 网络安全
运维笔记:基于阿里云跨地域服务器通信
运维笔记:基于阿里云跨地域服务器通信
1594 1
|
存储 Web App开发 JSON
【Chrome插件】如何在Chrome插件开发中处理复杂数据结构的存储?
在Chrome插件开发中,遇到问题:存储包含Map和数组的复杂数据结构到`chrome.storage.local`时,读取为空。原因在于`chrome.storage.local`只支持JSON序列化,而Map无法直接序列化。解决方案是使用`serializeMap`和`deserializeMap`方法将Map转换为数组进行存储和读取。更新的`saveMindData`和`getMindData`方法实现了数据的正确序列化和反序列化。
517 5
|
机器学习/深度学习 移动开发 Java
一文搞懂:一般用到的短信,邮件换行符号
一文搞懂:一般用到的短信,邮件换行符号
804 0
|
机器学习/深度学习 人工智能 安全
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能