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

 转换后的公钥如下: 

将此公钥 上传到开放平台的应用公钥位置并获取支付宝公钥即可。
目录
相关文章
|
算法
RSA和RSA2签名算法区别
RSA和RSA2签名算法 什么是数字签名? 一个很好的说明文档可以参考:What is a Digital Signature?,中文翻译可以参考:数字签名是什么?. 简单来说,签名主要包含两个过程:摘要和非对称加密,首先对需要签名的数据做摘要(类似于常见的MD5)后得到摘要结果,然后通过签名者的私钥对摘要结果进行非对称加密即可得到签名结果。
6731 12
|
移动开发 Java 数据安全/隐私保护
C#RSA加密解密签名类,支持PEM格式解密(1024或2048位)
主要介绍了PEM PKCS#8、PKCS#1公钥和私钥在C#中的使用,并以此为基础写的C#函数方法。
3944 1
|
网络安全 开发工具 数据安全/隐私保护
解决 Enter passphrase for key ‘/Users/dzm/.ssh/id_rsa‘:
解决 Enter passphrase for key ‘/Users/dzm/.ssh/id_rsa‘:
5128 0
|
消息中间件 存储 NoSQL
Redis 竟然能用 List 实现消息队列
今天,码哥结合消息队列的特点一步步带大家分析使用 Redis 的 List 作为消息队列的实现原理,并分享如何把 SpringBoot 与 Redission 整合运用到项目中。
1137 0
Redis 竟然能用 List 实现消息队列
|
7月前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
8月前
|
存储 缓存 NoSQL
【Redis】 常用数据结构之String篇:从SET/GET到INCR的超全教程
无论是需要快速缓存用户信息,还是实现高并发场景下的精准计数,深入理解String的特性与最佳实践,都是提升Redis使用效率的关键。接下来,让我们从基础命令开始,逐步揭开String数据结构的神秘面纱。
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
766 4
|
编解码 开发者 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
1797 1
|
存储 安全 算法
RSA非对称加密算法中的密钥对生成与传输
RSA非对称加密算法的密钥对生成与传输是信息安全领域的核心问题之一。密钥生成过程需要保证随机性和安全性,而密钥的传输则需要选择适当的方式来确保其保密性和完整性。通过合理的密钥管理和保护措施,可以有效地利用RSA算法保护通信安全,防止信息泄露和篡改。在实际应用中,用户和系统管理员需要结合具体情况选择最佳的密钥生成和传输策略,以达到最佳的安全性和效率。
589 0
|
机器学习/深度学习 人工智能 安全
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能
实战 | 基于YOLOv8深度学习的反光衣检测与预警系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、人工智能

热门文章

最新文章