说明:
本帖主要说明如何使用命令来生成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通用的不需要进行格式转换,去除头尾即可)如下:
转换后的公钥如下: