支付宝怎么配置OpenSSL生成公钥

PHPz
发布: 2016-06-20 12:29:23
转载
3353人浏览过

本篇文章带大家配置支付宝支付服务,介绍一下支付宝开放平台配置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:1.0.1e-51.el7_2.5                  @updates
openssl-devel.x86_64               1:1.0.1e-51.el7_2.5                  @updates
openssl-libs.x86_64                1:1.0.1e-51.el7_2.5                  @updates
openssl098e.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
登录后复制

第二步,创建私钥和公钥对

私钥,顾名思义,就是我们自己的钥匙

百宝箱
百宝箱

百宝箱是支付宝推出的一站式AI原生应用开发平台,无需任何代码基础,只需三步即可完成AI应用的创建与发布。

百宝箱 279
查看详情 百宝箱

运行如下代码,显示结果就表示生成成功

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.pem
writing RSA key
登录后复制

第三步,如何应用

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

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

支付宝rsa公钥配置
支付宝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:输出文件

需要注意的是,如果用私钥进行加密,那么解密的时候,就必须是私钥,如果是公钥进行加密,解密的时候就是私钥去解密,大家可以测试下

支付宝
支付宝

支付宝,全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付服务,有需要的小伙伴快来保存下载体验吧!

下载
来源:博客园网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号