zoukankan      html  css  js  c++  java
  • 支付宝开放平台 配置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

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

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

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

    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        输出文件

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

    转:http://www.028888.net/archives/2016_08_1549.html

  • 相关阅读:
    16 pymysql模块的使用
    15 可视化工具 Navicat的简单使用
    14 补充 MySQL的创建用户和授权
    13 多表查询
    linux常用查看文件或日志命令
    linux查找大文件命令
    linux测试环境维护之磁盘空间维护
    linux配置IP访问权限
    通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)
    redis安装详解
  • 原文地址:https://www.cnblogs.com/fps2tao/p/8684271.html
Copyright © 2011-2022 走看看