安裝 OpenSSL 工具


 

Linux 用戶(以 Ubuntu 為例)

sudo apt-get install openssl

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 -out rsa_private_key_pkcs8.pem # Java開發者需要將私鑰轉換成 PKCS8 格式
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem # 生成公鑰
OpenSSL> exit  # 退出 OpenSSL 程序

Windows 用戶在 cmd 窗口中進行以下操作:

C:\Users\Hammer>cd C:\OpenSSL-Win32\bin %進入 OpenSSL 安裝目錄%
C:\OpenSSL-Win32\bin>openssl.exe %進入 OpenSSL 程序%
OpenSSL> genrsa -out rsa_private_key.pem 1024 %生成私鑰%
OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem %備注:Java 開發者需要將私鑰轉換成 PKCS8 格式%
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem %生成公鑰%
OpenSSL> exit  %退出 OpenSSL 程序%

注意:對於使用 Java 和 .NET 的開發者,將 pkcs8 在 console 中輸出的私鑰去除頭行、尾行、回車換行和空格,作為開發者私鑰,對於 PHP 的開發者來說,無需進行 pkcs8 命令行操作。

經過以上步驟,開發者可以在當前文件夾中(Windows 用戶在 C:\OpenSSL-Win32\bin)看到 rsa_private_key.pem和 rsa_public_key.pem 兩個文件,前者為私鑰,后者為公鑰。開發者將私鑰保留,將公鑰提交給支付寶網關,用於信息加密及解密。以下為使用 OpenSSL 生成的私鑰文件和公鑰文件示例。

密鑰示例

標准的私鑰文件示例(PHP 使用)

-----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQD5XhINYn8H846imTJVTtUTJUTSeg8aVBp21v51j+bCGtXYATin Nig+Mu829L3M3WxV6UIkVxjeepd0xEmAxJnhKlA0v1/6pFsKO8pzHbygKISqmwFL NSCVcIHafIOeaIAJFuHRZzwOi0MxKYVMRBviqUiF+52Nj9F/A0eTvAXL7QIDAQAB AoGBAOpTi4MoW1aNeCsy6ilfuroS+2kNacPD5FpoDRVL8/vSW8Bu5V27dnV8R23M 7c3lBDh2yMB9V9E4Qbpn+OoX1L/2r6OOi8T0w293GYgClCVgLVP90PUAD6/fW9UY mtgrjmJSKRh6H67V0IUpOsY9eidl0V1po/GGvNDNgUgkFwwBAkEA/9LzPxg5acDC hqZXDchJtBxc/nzEpUWoZk0EKU3PvkH8DejsaggFe8MDtqJNxRD9liAi7fw7Hqts 0/bnMc+oXQJBAPmJ+70j9RronLsn+I/N3IXBaQi1zGTeppviA0ST+7uTD35iAPoL GBGyvyIkk3I0T48H6o50tqEcISxhRzi9ONECQQC7qzfwqEet8c+CUdJ49N5Et63s rwDfMVuZOJR97Gwi6WsLlTyhiCLlqKk3uJcOoyk0kXyuUyPXmvAqCu2NmAWtAkEA isKy7LNBCcyN0vjgHD8yQGKToJdPaEvzQ72DabAMjHqzY+jleCWRJc5KwJasMxZp ozSYtsyp/Z7hx4b0jtWR8QJAWSXcg9gZs0qtt1Xwu2XI/r/f/8TjbPLGT0nbfu0Y Baqfpf2bkq9UjIwzVW9TmVJ/RZbvh8ege4Ff9UDw/eVoHA== -----END RSA PRIVATE KEY----- 

PKCS8 處理后的私鑰文件示例(Java 和 .NET 使用)

-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAPleEg1ifwfzjqKZ MlVO1RMlRNJ6DxpUGnbW/nWP5sIa1dgBOKc2KD4y7zb0vczdbFXpQiRXGN56l3TE SYDEmeEqUDS/X/qkWwo7ynMdvKAohKqbAUs1IJVwgdp8g55ogAkW4dFnPA6LQzEp hUxEG+KpSIX7nY2P0X8DR5O8BcvtAgMBAAECgYEA6lOLgyhbVo14KzLqKV+6uhL7 aQ1pw8PkWmgNFUvz+9JbwG7lXbt2dXxHbcztzeUEOHbIwH1X0ThBumf46hfUv/av o46LxPTDb3cZiAKUJWAtU/3Q9QAPr99b1Ria2CuOYlIpGHofrtXQhSk6xj16J2XR XWmj8Ya80M2BSCQXDAECQQD/0vM/GDlpwMKGplcNyEm0HFz+fMSlRahmTQQpTc++ QfwN6OxqCAV7wwO2ok3FEP2WICLt/Dseq2zT9ucxz6hdAkEA+Yn7vSP1Guicuyf4 j83chcFpCLXMZN6mm+IDRJP7u5MPfmIA+gsYEbK/IiSTcjRPjwfqjnS2oRwhLGFH OL040QJBALurN/CoR63xz4JR0nj03kS3reyvAN8xW5k4lH3sbCLpawuVPKGIIuWo qTe4lw6jKTSRfK5TI9ea8CoK7Y2YBa0CQQCKwrLss0EJzI3S+OAcPzJAYpOgl09o S/NDvYNpsAyMerNj6OV4JZElzkrAlqwzFmmjNJi2zKn9nuHHhvSO1ZHxAkBZJdyD 2BmzSq23VfC7Zcj+v9//xONs8sZPSdt+7RgFqp+l/ZuSr1SMjDNVb1OZUn9Flu+H x6B7gV/1QPD95Wgc -----END PRIVATE KEY----- 

公鑰文件示例

-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5XhINYn8H846imTJVTtUTJUTS eg8aVBp21v51j+bCGtXYATinNig+Mu829L3M3WxV6UIkVxjeepd0xEmAxJnhKlA0 v1/6pFsKO8pzHbygKISqmwFLNSCVcIHafIOeaIAJFuHRZzwOi0MxKYVMRBviqUiF +52Nj9F/A0eTvAXL7QIDAQAB -----END PUBLIC KEY-----


免責聲明!

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



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