1.首先需要在計算機上面安裝openssl
openssl下載
2.通過openssl工具生成RSA的公鑰和私鑰(opnssl工具可在互聯網中下載到)
1)生成RSA私鑰(需要把解壓出來的openssl文件夾放在C盤根目錄)
打開bin文件夾下面的openssl.exe,敲入
genrsa -out D://deploy/CA/rsa_private_key.pem 1024,並回車
得到生成成功的結果
此時,我們可以在D://deploy/CA/文件夾中看到一個文件名為rsa_private_key.pem的文件,用記事本方式打開它,可以看到-----BEGIN RSA PRIVATE KEY-----開頭,-----END RSA PRIVATE KEY-----結尾的沒有換行的字符串,這個就是原始的私鑰。
2)把RSA私鑰轉換成PKCS8格式
輸入命令pkcs8 -topk8 -inform PEM -in D://deploy/CA/rsa_private_key.pem -outform PEM -nocrypt -out D://deploy/CA/rsa_private_key_pkcs8.pem,並回車,生成的文件為私鑰轉PKCS8格式的私鑰
3)生成公鑰
輸入命令rsa -in D://deploy/CA/rsa_private_key.pem -pubout -out D://deploy/CA/rsa_public_key.pem,並回車,
得到生成成功的結果
此時,我們可以在D://deploy/CA/文件夾中看到一個文件名為rsa_public_key.pem的文件,用記事本方式打開它,可以看到-----BEGIN PUBLIC KEY-----開頭,
-----END PUBLIC KEY-----結尾的沒有換行的字符串,這個就是公鑰。
把rsa公鑰和私鑰配置到接口中
1) 整理公鑰和私鑰的格式
a) Java與.Net開發語言
◆商戶的私鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、去掉“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”,只保存這兩條文字之中的部分
◆商戶的公鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存這兩條文字之中的部分
3、保存到一個臨時的記事本中,再打開b.alipay.com,並用要綁定密鑰的支付寶賬號登錄,找到“獲取PID、KEY”的按鈕
4、根據http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步驟上傳RSA公鑰,即剛才保存在臨時記事本中的那串字符串。
◆支付寶公鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存這兩條文字之中的部分
a) Php開發語言
◆商戶的私鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、不需要對剛生成的(原始的)私鑰做pkcs8編碼,即不需要使用到PKCS8格式的私鑰
3、不需要去掉去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”
簡言之,只要維持剛生成出來的私鑰的內容即可。
◆商戶的公鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存這兩條文字之中的部分
3、保存到一個臨時的記事本中,再打開b.alipay.com,並用要綁定密鑰的支付寶賬號登錄,找到“獲取PID、KEY”的按鈕
4、根據http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步驟上傳RSA公鑰,即剛才保存在臨時記事本中的那串字符串。
◆支付寶公鑰
1、必須保證只有一行文字,即,沒有回車、換行、空格等
2、須保留“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”這兩條文字。
簡言之,支付寶公鑰只需要維持原樣即可。
2) 把公鑰上傳給支付寶
操作流程見:http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9
3) 從支付寶那獲得支付寶公鑰
此處公鑰由技術支持提供,請找技術支持索要支付寶公鑰文件。
4) 把私鑰、支付寶公鑰配置到支付寶接口中
a) Java與。Net開發語言
打開代碼示例中config配置文件,分別在參數private_key、public_key中填寫好商戶的私鑰、支付寶的公鑰即可
b) Php開發語言
打開代碼實例中的key文件夾,
方法一:
分別打開rsa_private_key.pem私鑰文件、alipay_public_key.pem支付寶公鑰文件,按照“()”注釋內容填寫並保存
方法二:
按照1)b)整理后的私鑰文件和公鑰文件重新命名為“rsa_private_key.pem”、“alipay_public_key.pem”,直接覆蓋key文件夾中的這兩個文件即可。
PHP的RSA配置常見問題:
●PHP開發語言的代碼示例中openssl文件夾中的3個DLL文件用法
1、如果你的系統是windows系統,且system32文件目錄下沒有libeay32.dll、ssleay32.dll這兩個文件
那么需要拷貝這兩個文件到system32文件目錄。
2、如果您的php安裝目錄下(php\ext)中沒有php_openssl.dll
那么請把php_openssl.dll放在這個文件夾中
參考文檔:http://help.alipay.com/support/help_detail.htm?help_id=253654&sh=Y&tab=null&info_type=9