支付寶開放平台 配置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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM