進入到第一次配置支付寶支付服務了
配置支付寶服務,需要去支付寶的開放平台申請服務
需要設置一些參數
其中需要在后台設置配置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
第三步,如何應用
上面我們已經創建好了公鑰和私鑰
我們用文本編輯器打開公鑰,將里面的代碼復制到支付寶開放平台要求我們輸入公鑰那里,如下圖所示
自此我們就配置好了,現在我們來測試一個簡單的文本
看看公鑰和私鑰是如何工作的
首先我們新建一個文本文件 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