如何使用命令生成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通用的不需要进行格式转换,去除头尾即可如下: 

 转换后的公钥如下: 

将此公钥 上传到开放平台的应用公钥位置并获取支付宝公钥即可。
目录
相关文章
|
网络安全 开发工具 数据安全/隐私保护
解决 Enter passphrase for key ‘/Users/dzm/.ssh/id_rsa‘:
解决 Enter passphrase for key ‘/Users/dzm/.ssh/id_rsa‘:
5343 0
|
消息中间件 存储 NoSQL
Redis 竟然能用 List 实现消息队列
今天,码哥结合消息队列的特点一步步带大家分析使用 Redis 的 List 作为消息队列的实现原理,并分享如何把 SpringBoot 与 Redission 整合运用到项目中。
1188 0
Redis 竟然能用 List 实现消息队列
|
7月前
|
存储 XML Rust
高效安全的数据序列化:Rust bincode二进制编码库入门指南(手把手教你使用bincode进行Rust二进制序列化)
本教程来源https://www.vpshk.cn/带你快速掌握Rust中bincode库的使用,实现高效、安全的二进制序列化与反序列化,适用于高性能服务、游戏引擎等场景,助力提升数据处理效率。
|
8月前
|
JSON 网络协议 数据安全/隐私保护
企业微信ipad协议:从二进制流到业务指令的拆解
企业微信iPad协议是为补齐长连接短板而设计的私有TCP协议,以TLV二进制格式实现高效通信,结合ECDH+Chacha20点对点加密与双ticket登录机制,在保障安全的同时提升移动端性能与推送实时性。
530 1
|
9月前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
10月前
|
存储 缓存 NoSQL
【Redis】 常用数据结构之String篇:从SET/GET到INCR的超全教程
无论是需要快速缓存用户信息,还是实现高并发场景下的精准计数,深入理解String的特性与最佳实践,都是提升Redis使用效率的关键。接下来,让我们从基础命令开始,逐步揭开String数据结构的神秘面纱。
|
Java Nacos 网络架构
SpringCloud Gateway的使用 + Nacos动态路由
SpringCloud Gateway的使用 + Nacos动态路由
|
前端开发 Java 数据库
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
1151 0
|
运维 安全 网络安全
运维笔记:基于阿里云跨地域服务器通信
运维笔记:基于阿里云跨地域服务器通信
1641 1
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
1930 1