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

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

需要设置一些参数

其中需要在后台设置配置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配置公钥私钥对的更多相关文章

  1. 支付宝开放平台--网页&移动应用(一)

    前提是先在支付宝上签约自己需要的支付宝功能,然后支付宝开放平台才能设置你需要的功能 一:支付宝开放平台登录 登录进入支付宝开放平台 二:根据自己的需求创建应用(我是用的网页&移动应用) 三:点 ...

  2. 公共错误码 - 支付宝开放平台 https://opendocs.alipay.com/open/common/105806

    公共错误码 - 支付宝开放平台 https://opendocs.alipay.com/open/common/105806

  3. .net core中使用openssl的公钥私钥进行加解密

    这篇博文分享的是 C#中使用OpenSSL的公钥加密/私钥解密 一文中的解决方法在 .net core 中的改进.之前的博文针对的是 .NET Framework ,加解密用的是 RSACryptoS ...

  4. 用 openSSL 生成 公钥 私钥

    支付宝app接口需要 RSA加密通讯 https://doc.open.alipay.com/doc2/detail?treeId=58&articleId=103242&docTyp ...

  5. Java中使用OpenSSL生成公钥私钥进行数据加解密

    当前使用的是Linux系统,已经安装OpenSSL软件包. 一.使用OpenSSL来生成私钥和公钥1.执行命令openssl version -a 验证机器上已经安装openssl $ openssl ...

  6. OpenSSL与公钥私钥证书签名的千丝万缕

    导语 人对任何事物的认识都是阶段性的,从无知到知晓,从懵懂到半知半解,从误解到将信将疑,从晕头转向到下定决心吃透. 介绍 OpenSSL是一个强大的命令行工具,它可以用来处理许多种跟PKI(Publi ...

  7. WP8.1 RSA 加解密实例(导入公钥私钥)

    因项目上需要用到,之前在WP8.0的环境上调试通过,现在在开发8.1时发现已不支持原来的加密库,所以无法使用以前的方法,不得已,去寻找windows命名空间下RSA的加解密方法,经过几天的尝试,将解决 ...

  8. RSA不对称加密和公钥 私钥

    理论上只要有加密的规则 基本都是可以解密的 但是如果解密需要消耗的时间过长 比如1000年 解密过后已经没什么意义了 此时可认为这种算法不能被破解 也就是说此加密可信 MD5 是一种单向操作 加密后不 ...

  9. OpenSSL生成公钥私钥***

    证书标准 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准. 编码格式 同样的X.509证书,可能有不同的编码格式,目前有 ...

随机推荐

  1. VirtualBox安装部署的Ubuntu16.04的步骤

    1.下载ubuntu16.04镜像 http://cn.ubuntu.com/download/ 以及虚拟机软件VirtualBox https://www.virtualbox.org/wiki/D ...

  2. AC日记——玻璃切割 51nod 1562

    玻璃切割 思路: 并查集: 离线操作: 先把每次切割都存下来: 然后从后面不断合并切割: 然后每次更新最大长和宽: 记录答案: 要开longlong: 来,上代码 #include <cstdi ...

  3. postgres表空间、模式、表和用户/角色之间的关系

    一. 角色(role)和用户(user)   1. role      postgres=# create role kanon password 'kanon';         #使用role创建 ...

  4. [TJOI2009] 战争游戏

    题目背景 小R正在玩一个战争游戏.游戏地图是一个M行N列的矩阵,每个格子可能是障碍物,也可能是空地,在游戏开始时有若干支敌军分散在不同的空地格子中.每支敌军都可以从当前所在的格子移动到四个相邻的格子之 ...

  5. 分金币 Uva 11300

    题意 给定N个人成环状坐,每个人初始分配Ai的金币,金币总数可以被N整除,每个人可以给左右相邻的人一定数量的金币使得最终每个人的金币数量相同,求转移数量最小的方案所转移的总金币数量. N<=10 ...

  6. spring-----mvc的反射调用

    这几天在看spring mvc 源码,一直很好奇它究竟在哪进行的反射调用,通过源码,仔细阅读,最后发现了调用位置在类 InvocableHandlerMethod 的doInvoke 方法 /** * ...

  7. 四. Java继承和多态10. Java Object类

    Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来. 定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类.例如: p ...

  8. Jackson的高级应用(转)

    Jackson 是当前用的比较广泛的,用来序列化和反序列化 JSON 的 Java 的开源框架.Jackson 社 区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson ...

  9. C++ 11中几个我比较喜欢的语法(三)

    随着Vsisual Studio 2013 RC版的放出,之前承诺的对C++ 11语法支持已经全部完成,本文是C++ 11中我喜欢的语法系列的最后一部分(一),(二). 非静态成员直接初始化 在C++ ...

  10. js常用函数和常用技巧

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...