进入到第一次配置支付宝支付服务了
配置支付宝服务,需要去支付宝的开放平台申请服务
需要设置一些参数
其中需要在后台设置配置RSA(SHA1)密钥(公钥(注意这个子读"yao"))
支付宝后台是这样提示的
使用SHA1withRsa,支付宝会用SHA1withRsa算法进行接口调用时的验签(不限制密钥长度)。使用支付宝密钥生成器或OpenSSL(第三方工具)生成密钥
由于我本地系统和远程系统是centos
所以我选择了 OpenSSL 来生成公钥
下面我们开始吧
第一步,查看是否安装了OpenSSL
1.1、如果已经正确安装,您可以输入openssl
看到如下界面,即表示已经安装
[likilone@MyCentOS temp]$ opensslOpenSSL>
然后我们就可以运行命令创建我们的公钥和私钥
注意,我们创建的公钥和私钥就在我们当前的文件夹temp里面
1.2、如果没有安装,您可以yum安装
请看如下代码:
首先列出来可以安装的OpenSSL版本
[likilone@MyCentOS temp]$ yum list openssl*已加载插件:fastestmirror, langpackshttps://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo/epel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found正在尝试其它镜像。To address this issue please refer to the below knowledge base article https://access.redhat.com/articles/1320623If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * elrepo: mirrors.tuna.tsinghua.edu.cn * epel: ftp.cuhk.edu.hk * extras: centos.ustc.edu.cn * updates: ftp.sjtu.edu.cn已安装的软件包openssl.x86_64 1:1.0.1e-51.el7_2.5 @updatesopenssl-devel.x86_64 1:1.0.1e-51.el7_2.5 @updatesopenssl-libs.x86_64 1:1.0.1e-51.el7_2.5 @updatesopenssl098e.x86_64 0.9.8e-29.el7.centos.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.8e-29.el7.centos.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.pemwriting RSA key
第三步,如何应用
上面我们已经创建好了公钥和私钥
我们用文本编辑器打开公钥,将里面的代码复制到支付宝开放平台要求我们输入公钥那里,如下图所示
自此我们就配置好了,现在我们来测试一个简单的文本
看看公钥和私钥是如何工作的
首先我们新建一个文本文件 1.txt
里面的内容是 hello rsa
我们用公钥对这个文件进行加密,
OpenSSL> rsautl -encrypt -in 1.txt -inkey public.pem -pubin -out 2.en
用私钥进行解密
OpenSSL> rsautl -decrypt -in 2.en -inkey rsa_privte.pem -out 2.de
上面的一些参数说明
encrypt 加密
decrypt 解密
-in 待解密或加密的文件
-inkey 指定钥匙
-out 输出文件
需要注意的是,如果用私钥进行加密,那么解密的时候,就必须是私钥,如果是公钥进行加密,解密的时候就是私钥去解密,大家可以测试下
转:http://www.028888.net/archives/2016_08_1549.html