RSA密鑰的生成與配置


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

 


免責聲明!

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



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