博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对
阅读量:6180 次
发布时间:2019-06-21

本文共 2841 字,大约阅读时间需要 9 分钟。

进入到第一次配置支付宝支付服务了

配置支付宝服务,需要去支付宝的开放平台申请服务

需要设置一些参数

其中需要在后台设置配置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

第三步,如何应用

 

上面我们已经创建好了公钥和私钥

我们用文本编辑器打开公钥,将里面的代码复制到支付宝开放平台要求我们输入公钥那里,如下图所示

 

 

支付宝rsa公钥配置

 

 

 

自此我们就配置好了,现在我们来测试一个简单的文本

看看公钥和私钥是如何工作的

首先我们新建一个文本文件 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

 

转载地址:http://bxbda.baihongyu.com/

你可能感兴趣的文章
Java非静态内部类中为什么不能有静态变量却可以有常量?
查看>>
DevExpress DXperience 的本地化(汉化)方法
查看>>
处理分页操作
查看>>
$.when().done().then()的用法
查看>>
EntityFramework之创建数据库及基本操作(一)
查看>>
【mongo】drop不释放磁盘空间
查看>>
linux异步通信之epoll【转】
查看>>
暑假总结20160907
查看>>
数据结构——树的知识架构图
查看>>
OTL翻译(3) -- OTL的主要类
查看>>
x86架构的android手机兼容性问题
查看>>
InvalidIndexNameException[Invalid index name [2Shard], must be lowercase]
查看>>
POJ 1067 取石子游戏
查看>>
sum函数
查看>>
常用音频数据库记录
查看>>
题二:写一个单例模式
查看>>
40个Java多线程问题总结
查看>>
List集合序列排序的两种方法
查看>>
linux每日命令(23):find命令之xargs
查看>>
阿里云服务器的一点小坑---端口不通问题,还是防火墙的锅
查看>>