支付宝开放平台 配置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证书,可能有不同的编码格式,目前有 ...
随机推荐
- (30)C#Timer类
有三种Timer 1.System.Windows.Forms.Timer 应用于WinForm中,它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程 ...
- 51nod 1596 搬货物【贪心/二进制】
1596 搬货物 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 取消关注 现在有n个货物,第i个货物的重量是 2wi ...
- JDBC二部曲之_入门
JDBC 1 什么是JDBC? JDBC(Java DataBase Connectivity),即Java数据库连接!也就是说,Java程序员可以使用JDBC API来操作数据库. 最早JDBC是J ...
- Python的并发并行[3] -> 进程[1] -> 多进程的基本使用
多进程的基本使用 1 subprocess 常用函数示例 首先定义一个子进程调用的程序,用于打印一个输出语句,并获取命令行参数 import sys print('Called_Function.py ...
- poj2774(最长公共子串)
poj2774 题意 求两个字符串的最长公共子串 分析 论文 将两个字符串合并,中间插入分隔符,在找最大的 height 值的时候保证,两个字符串后缀的起始点分别来自原来的两个字符串. code #i ...
- CSS,HTML页面定制
/*simplememory*/ #google_ad_c1, #google_ad_c2 {display:none;} .syntaxhighlighter a, .syntaxhighlight ...
- Oracle 查询每天执行慢的SQL
本文转载自http://blog.itpub.net/28602568/viewspace-1364844/ 前言: 工作中的您是否有 想对每天慢的sql进行查询.汇总或者行优化等情况,如下SQL希 ...
- POJ 2914 Minimum Cut (全局最小割)
[题目链接] http://poj.org/problem?id=2914 [题目大意] 求出一个最小边割集,使得图不连通 [题解] 利用stoerwagner算法直接求出全局最小割,即答案. [代码 ...
- How to copy projects into workspace of eclipse after importing the project?
在eclipse中如果已经导入了一个别处的项目但导入时没有选“copy projects into workspace”怎么办? 答案是删掉该项目重新导入... http://stackoverflo ...
- tcp 三次握手和四次断连深入分析:连接状态和socket API的关系----BAT 李运华
http://blog.csdn.net/yunhua_lee/article/details/40513677 http://blog.csdn.net/yah99_wolf/article/cat ...