⽀付宝开放平台配置RSA(SHA1)密钥OpenSSL配置公钥私钥
进⼊到第⼀次配置⽀付宝⽀付服务了
配置⽀付宝服务,需要去⽀付宝的开放平台申请服务
需要设置⼀些参数
其中需要在后台设置配置RSA(SHA1)密钥(公钥(注意这个⼦读"yao"))
⽀付宝后台是这样提⽰的
使⽤SHA1withRsa,⽀付宝会⽤SHA1withRsa算法进⾏接⼝调⽤时的验签(不限制密钥长度)。使⽤⽀付宝密钥⽣成器或
OpenSSL(第三⽅⼯具)⽣成密钥
由于我本地系统和远程系统是centos
所以我选择了 OpenSSL 来⽣成公钥
下⾯我们开始吧
第⼀步,查看是否安装了OpenSSL
1.1、如果已经正确安装,您可以输⼊openssl
看到如下界⾯,即表⽰已经安装
[likilone@MyCentOS temp]$ openssl
OpenSSL>
然后我们就可以运⾏命令创建我们的公钥和私钥怎么对文件夹加密
注意,我们创建的公钥和私钥就在我们当前的⽂件夹temp⾥⾯
1.2、如果没有安装,您可以yum安装
请看如下代码:
⾸先列出来可以安装的OpenSSL版本
[likilone@MyCentOS temp]$ yum list openssl*
已加载插件:fastestmirror, langpacks
copr-be./results/mosquito/myrepo/epel-7-x86_64/l: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below knowledge base article
dhat/articles/1320623
If above article doesn't help to resolve this issue please create a bug on /
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun
* elrepo: mirrors.tuna.tsinghua.edu
* epel: ftp.cuhk.edu.hk
* extras: centos.ustc.edu
* updates: ftp.sjtu.edu
已安装的软件包
openssl.x86_64                    1:1.0.1e-51.el7_2.5                  @updates
openssl-devel.x86_64              1:1.0.1e-51.el7_2.5                  @updates
openssl-libs.x86_64                1:1.0.1e-51.el7_2.5                  @updates
openssl098e.x86_64                0.9.s.3              @updates
可安装的软件包
openssl-devel.i686                1:1.0.1e-51.el7_2.5                  updates
openssl-libs.i686                  1:1.0.1e-51.el7_2.5                  updates
openssl-perl.x86_64                1:1.0.1e-51.el7_2.5                  updates
openssl-static.i686                1:1.0.1e-51.el7_2.5                  updates
openssl-static.x86_64              1:1.0.1e-51.el7_2.5                  updates
openssl098e.i686                  0.9.s.3              updates
[likilone@MyCentOS temp]$
以上信息显⽰了我安装的openssl版本
如果你没有安装,可以直接yum安装即可
yum install XXX
第⼆步,创建私钥和公钥对
私钥,顾名思义,就是我们⾃⼰的钥匙
运⾏如下代码,显⽰结果就表⽰⽣成成功
OpenSSL> genrsa -out rsa_privte.pem 1024
Generating RSA private key, 1024 bit long modulus .........................................................++++++ .....................................++++++
e is 65537 (0x10001)
上⾯⽣成的私钥⾥⾯包含了公钥的
所以我们可以通过这个私钥获得⼀个公钥,就是从私钥⾥提取公钥,代码如下
OpenSSL> rsa -in rsa_privte.pem -pubout -out public.pem
writing RSA key
第三步,如何应⽤
上⾯我们已经创建好了公钥和私钥
我们⽤⽂本编辑器打开公钥,将⾥⾯的代码复制到⽀付宝开放平台要求我们输⼊公钥那⾥,如下图所⽰⽀付宝rsa公钥配置
⾃此我们就配置好了,现在我们来测试⼀个简单的⽂本
看看公钥和私钥是如何⼯作的
⾸先我们新建⼀个⽂本⽂件 1.txt
⾥⾯的内容是 hello rsa
我们⽤公钥对这个⽂件进⾏加密,
OpenSSL> rsautl -encrypt - -inkey public.pem -pubin -
⽤私钥进⾏解密
OpenSSL> rsautl -decrypt - -inkey rsa_privte.pem -out 2.de
上⾯的⼀些参数说明
encrypt    加密
decrypt    解密
-in        待解密或加密的⽂件
-
inkey    指定钥匙
-out        输出⽂件
需要注意的是,如果⽤私钥进⾏加密,那么解密的时候,就必须是私钥,如果是公钥进⾏加密,解密的时候就是私钥去解密,⼤家可以测试下