支付宝开放平台 配置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
https://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/1320623 If 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.0.1e-.el7_2. @updates
openssl-devel.x86_64 :1.0.1e-.el7_2. @updates
openssl-libs.x86_64 :1.0.1e-.el7_2. @updates
openssl098e.x86_64 0.9.8e-.el7.centos. @updates
可安装的软件包
openssl-devel.i686 :1.0.1e-.el7_2. updates
openssl-libs.i686 :1.0.1e-.el7_2. updates
openssl-perl.x86_64 :1.0.1e-.el7_2. updates
openssl-static.i686 :1.0.1e-.el7_2. updates
openssl-static.x86_64 :1.0.1e-.el7_2. updates
openssl098e.i686 0.9.8e-.el7.centos. updates
[likilone@MyCentOS temp]$
以上信息显示了我安装的openssl版本
如果你没有安装,可以直接yum安装即可
yum install XXX
第二步,创建私钥和公钥对
私钥,顾名思义,就是我们自己的钥匙
运行如下代码,显示结果就表示生成成功
OpenSSL> genrsa -out rsa_privte.pem
Generating RSA private key, bit long modulus
.........................................................++++++
.....................................++++++
e is (0x10001)
上面生成的私钥里面包含了公钥的
所以我们可以通过这个私钥获得一个公钥,就是从私钥里提取公钥,代码如下
OpenSSL> rsa -in rsa_privte.pem -pubout -out public.pem
writing RSA key
第三步,如何应用
上面我们已经创建好了公钥和私钥
我们用文本编辑器打开公钥,将里面的代码复制到支付宝开放平台要求我们输入公钥那里,如下图所示

- 支付宝rsa公钥配置
自此我们就配置好了,现在我们来测试一个简单的文本
看看公钥和私钥是如何工作的
首先我们新建一个文本文件 1.txt
里面的内容是 hello rsa
我们用公钥对这个文件进行加密,
OpenSSL> rsautl -encrypt -in .txt -inkey public.pem -pubin -out .en
用私钥进行解密
OpenSSL> rsautl -decrypt -in .en -inkey rsa_privte.pem -out .de
上面的一些参数说明
encrypt 加密
decrypt 解密
-in 待解密或加密的文件
-inkey 指定钥匙
-out 输出文件
需要注意的是,如果用私钥进行加密,那么解密的时候,就必须是私钥,如果是公钥进行加密,解密的时候就是私钥去解密,大家可以测试下
转:http://www.028888.net/archives/2016_08_1549.html
支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对的更多相关文章
- 支付宝开放平台--网页&移动应用(一)
前提是先在支付宝上签约自己需要的支付宝功能,然后支付宝开放平台才能设置你需要的功能 一:支付宝开放平台登录 登录进入支付宝开放平台 二:根据自己的需求创建应用(我是用的网页&移动应用) 三:点 ...
- 公共错误码 - 支付宝开放平台 https://opendocs.alipay.com/open/common/105806
公共错误码 - 支付宝开放平台 https://opendocs.alipay.com/open/common/105806
- .net core中使用openssl的公钥私钥进行加解密
这篇博文分享的是 C#中使用OpenSSL的公钥加密/私钥解密 一文中的解决方法在 .net core 中的改进.之前的博文针对的是 .NET Framework ,加解密用的是 RSACryptoS ...
- 用 openSSL 生成 公钥 私钥
支付宝app接口需要 RSA加密通讯 https://doc.open.alipay.com/doc2/detail?treeId=58&articleId=103242&docTyp ...
- Java中使用OpenSSL生成公钥私钥进行数据加解密
当前使用的是Linux系统,已经安装OpenSSL软件包. 一.使用OpenSSL来生成私钥和公钥1.执行命令openssl version -a 验证机器上已经安装openssl $ openssl ...
- OpenSSL与公钥私钥证书签名的千丝万缕
导语 人对任何事物的认识都是阶段性的,从无知到知晓,从懵懂到半知半解,从误解到将信将疑,从晕头转向到下定决心吃透. 介绍 OpenSSL是一个强大的命令行工具,它可以用来处理许多种跟PKI(Publi ...
- WP8.1 RSA 加解密实例(导入公钥私钥)
因项目上需要用到,之前在WP8.0的环境上调试通过,现在在开发8.1时发现已不支持原来的加密库,所以无法使用以前的方法,不得已,去寻找windows命名空间下RSA的加解密方法,经过几天的尝试,将解决 ...
- RSA不对称加密和公钥 私钥
理论上只要有加密的规则 基本都是可以解密的 但是如果解密需要消耗的时间过长 比如1000年 解密过后已经没什么意义了 此时可认为这种算法不能被破解 也就是说此加密可信 MD5 是一种单向操作 加密后不 ...
- OpenSSL生成公钥私钥***
证书标准 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准. 编码格式 同样的X.509证书,可能有不同的编码格式,目前有 ...
随机推荐
- 前端设计的常用属性,CSS的盒模型,页面布局的利器
在CSS和HTML结合布局页面的过程中,有一组被人们称为“盒属性”的CSS样式,被广泛的使用到.相信经常布局写页面的朋友们对盒属性一定不陌生.在CSS技术的发展过程中,盒属性也有了许多次改进,今天小编 ...
- [thinkphp] 如何解析ajaxReturn返回的json字符串
success: function(data){ var dataObj=eval("("+data+")");//转换为json对象 alert(dataOb ...
- Codeforces Round #448 (Div. 2) B. XK Segments【二分搜索/排序/查找合法的数在哪些不同区间的区间数目】
B. XK Segments time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- ELK集群
kafka集群-------------------1. 下载wget http://mirror.rise.ph/apache/kafka/0.11.0.0/kafka_2.12-0.11.0.0. ...
- kibana-metric
1. Visualize 新建图形 2. 选择图形类型 3. 选择索引 4. 设置metric参数 4.1 count 4.2 unique count 5. 保存图形
- C++大数板子
C++大数板子 使用样例在主函数里看就好,必要的运算符都重载了. #include <iostream> using namespace std; ;/*精度位数,自行调整*/ //1.如 ...
- Moving Average from Data Stream -- LeetCode
Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...
- DQL数据查询语言——连接查询
--内连接 两种写法 等值连接select r.*,b.bummc from t_hq_ryxx r, t_hq_bm b where r.bumbm = b.bumbm select r.*,b.b ...
- Orchard EventBus 事件总线及 IEventHandler作用
事件总线接口定义: public interface IEventBus : IDependency { IEnumerable Notify(string messageName, IDiction ...
- SYSPROCESSES 查看连接
原文:SYSPROCESSES 查看连接 SELECT at.text,sp.* FROM[Master].[dbo].[SYSPROCESSES] sp CROSS APPLY sys.dm_exe ...