RSA密钥使用指南

通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到)

生成RSA私钥

打开bin文件夹下面的openssl.exe,打开生成命令.txt文件,输入“生成命令.txt”文件中
genrsa -out rsa_private_key.pem 1024,并回车
得到生成成功的结果,如下图:

此时,我们可以在bin文件夹中看到一个文件名为rsa_private_key.pem的文件,用记事本方式打开它,可以看到-----BEGIN RSA PRIVATE KEY-----开头,-----END RSA PRIVATE KEY-----结尾的没有换行的字符串,这个就是原始的私钥。

把RSA私钥转换成PKCS8格式

输入命令pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt,并回车
得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:

右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图),
此时继续右键点击openssl窗口上边边缘,选择编辑→复制,
把复制的内容粘土进一个新的记事本中,可随便命名,只要知道这个是PKCS8格式的私钥即可。

生成公钥

输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,
得到生成成功的结果,如下图:

此时,我们可以在bin文件夹中看到一个文件名为rsa_public_key.pem的文件,用记事本方式打开它,可以看到-----BEGIN PUBLIC KEY-----开头,
-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公钥。
 
把RSA公钥和私钥配置到接口中
1)整理公钥和私钥的格式
Java与.Net开发语言
◆开发者的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”,只保存这两条文字之中的部分
◆开发者的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中。
 
Php开发语言
◆开发者的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、不需要对刚生成的(原始的)私钥做pkcs8编码,即不需要使用到PKCS8格式的私钥
3、不需要去掉去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”
简言之,只要维持刚生成出来的私钥的内容即可。
◆开发者的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中,再打开open.alipay.com,登录,在应用管理里面找到对应的应用。
4、上传RSA公钥,即刚才保存在临时记事本中的那串字符串。
 
2) 把公钥上传给支付宝
1、打开open.alipay.com,登录,在应用管理里面找到对应的应用。
2、进入密钥配置的界面,上传RSA公钥,即刚才保存在临时记事本中的那串字符串。
 
3) 从支付宝那获得支付宝公钥
在配置密钥的界面可以查看支付宝公钥。
 
4) 把私钥、支付宝公钥配置到支付宝接口中
a) Java与。Net开发语言
打开代码示例中config配置文件,分别在参数private_key、public_key中填写好商户的私钥、支付宝的公钥即可
b) Php开发语言
打开代码实例中的key文件夹,
方法一:
分别打开rsa_private_key.pem私钥文件、alipay_public_key.pem支付宝公钥文件,按照“()”注释内容填写并保存
方法二:
按照1)b)整理后的私钥文件和公钥文件重新命名为“rsa_private_key.pem”、“alipay_public_key.pem”,直接覆盖key文件夹中的这两个文件即可。
 
PHP的RSA配置常见问题:
●PHP开发语言的代码示例中openssl文件夹中的3个DLL文件用法
 
1、如果你的系统是windows系统,且system32文件目录下没有libeay32.dll、ssleay32.dll这两个文件
那么需要拷贝这两个文件到system32文件目录。
 
2、如果您的php安装目录下(php\ext)中没有php_openssl.dll
那么请把php_openssl.dll放在这个文件夹中  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序邦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值