342
螞蟻金服
RSA私鑰及公鑰生成
一、OpenSSL工具安裝
1、Linux用戶(以Ubuntu為例)sudo apt-get install openssl
2、Windows用戶
開發者可以在OpenSSL官方網站下載Windows的OpenSSL安裝包進行安裝。
二、RSA私鑰及公鑰生成
Linux用戶(以Ubuntu為例)$ openssl 進入OpenSSL程序
OpenSSL> genrsa -out rsa_private_key.pem 1024 生成私鑰
OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt Java開發者需要將私鑰轉換成PKCS8格式
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 生成公鑰
OpenSSL> exit ## 退出OpenSSL程序
Windows用戶在cmd窗口中進行以下操作(詳細介紹):
打開openssl文件夾下的bin文件夾,執行openssl.exe文件:
1、生成RSA私鑰
輸入命令: genrsa -out rsa_private_key.pem 1024 ,並回車得到生成成功的結果,如下圖:
此時,我們可以在bin文件夾中看到一個文件名為rsa_private_key.pem的文件,用記事本方式打開它,可以看到-----BEGIN RSA PRIVATE KEY-----開頭,-----END RSA PRIVATE KEY-----結尾的沒有換行的字符串,這個就是原始的私鑰。
2、把RSA私鑰轉換成PKCS8格式
輸入命令:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt,並回車當前界麵中會直接顯示出生成結果,這個結果就是PKCS8格式的私鑰,如下圖:
右鍵點擊openssl窗口上邊邊緣,選擇編輯→標記,選中要複製的文字(如上圖),
此時繼續右鍵點擊openssl窗口上邊邊緣,選擇編輯→複製,
把複製的內容粘土進一個新的記事本中,可隨便命名,如“rsa_pkcs8_private_key ”隻要知道這個是PKCS8格式的私鑰即可。
3、生成RSA公鑰
輸入命令:rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,並回車,得到生成成功的結果,如下圖:
此時,我們可以在bin文件夾中看到一個文件名為rsa_public_key.pem的文件,用記事本方式打開它,可以看到-----BEGIN PUBLIC KEY-----開頭,-----END PUBLIC KEY-----結尾的沒有換行的字符串,這個就是公鑰。
開發者將私鑰保留,將公鑰上傳給支付寶,並獲取對應的支付寶公鑰;
以下為使用OpenSSL生成的私鑰文件和公鑰文件示例
具體標準的公私鑰示例請 點此查看 。
最後更新:2017-01-01 23:11:51