博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安装 OpenSSL 工具
阅读量:4354 次
发布时间:2019-06-07

本文共 3330 字,大约阅读时间需要 11 分钟。

 

Linux 用户(以 Ubuntu 为例)

sudo apt-get install openssl

Windows 用户

开发者可以在 OpenSSL 官方网站下载 Windows 的  进行安装。

生成 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+bCGtXYATinNig+Mu829L3M3WxV6UIkVxjeepd0xEmAxJnhKlA0v1/6pFsKO8pzHbygKISqmwFLNSCVcIHafIOeaIAJFuHRZzwOi0MxKYVMRBviqUiF+52Nj9F/A0eTvAXL7QIDAQABAoGBAOpTi4MoW1aNeCsy6ilfuroS+2kNacPD5FpoDRVL8/vSW8Bu5V27dnV8R23M7c3lBDh2yMB9V9E4Qbpn+OoX1L/2r6OOi8T0w293GYgClCVgLVP90PUAD6/fW9UYmtgrjmJSKRh6H67V0IUpOsY9eidl0V1po/GGvNDNgUgkFwwBAkEA/9LzPxg5acDChqZXDchJtBxc/nzEpUWoZk0EKU3PvkH8DejsaggFe8MDtqJNxRD9liAi7fw7Hqts0/bnMc+oXQJBAPmJ+70j9RronLsn+I/N3IXBaQi1zGTeppviA0ST+7uTD35iAPoLGBGyvyIkk3I0T48H6o50tqEcISxhRzi9ONECQQC7qzfwqEet8c+CUdJ49N5Et63srwDfMVuZOJR97Gwi6WsLlTyhiCLlqKk3uJcOoyk0kXyuUyPXmvAqCu2NmAWtAkEAisKy7LNBCcyN0vjgHD8yQGKToJdPaEvzQ72DabAMjHqzY+jleCWRJc5KwJasMxZpozSYtsyp/Z7hx4b0jtWR8QJAWSXcg9gZs0qtt1Xwu2XI/r/f/8TjbPLGT0nbfu0YBaqfpf2bkq9UjIwzVW9TmVJ/RZbvh8ege4Ff9UDw/eVoHA==-----END RSA PRIVATE KEY-----

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

-----BEGIN PRIVATE KEY-----MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAPleEg1ifwfzjqKZMlVO1RMlRNJ6DxpUGnbW/nWP5sIa1dgBOKc2KD4y7zb0vczdbFXpQiRXGN56l3TESYDEmeEqUDS/X/qkWwo7ynMdvKAohKqbAUs1IJVwgdp8g55ogAkW4dFnPA6LQzEphUxEG+KpSIX7nY2P0X8DR5O8BcvtAgMBAAECgYEA6lOLgyhbVo14KzLqKV+6uhL7aQ1pw8PkWmgNFUvz+9JbwG7lXbt2dXxHbcztzeUEOHbIwH1X0ThBumf46hfUv/avo46LxPTDb3cZiAKUJWAtU/3Q9QAPr99b1Ria2CuOYlIpGHofrtXQhSk6xj16J2XRXWmj8Ya80M2BSCQXDAECQQD/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-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5XhINYn8H846imTJVTtUTJUTSeg8aVBp21v51j+bCGtXYATinNig+Mu829L3M3WxV6UIkVxjeepd0xEmAxJnhKlA0v1/6pFsKO8pzHbygKISqmwFLNSCVcIHafIOeaIAJFuHRZzwOi0MxKYVMRBviqUiF+52Nj9F/A0eTvAXL7QIDAQAB-----END PUBLIC KEY-----

转载于:https://www.cnblogs.com/wplong/p/7463508.html

你可能感兴趣的文章
ionic如何uglify和minify你的js,css,image,png....
查看>>
[LeetCode]Minimum Depth of Binary Tree
查看>>
jboss初体验
查看>>
Python列表、元组练习
查看>>
angular页面刷新
查看>>
Leetcode:7- Reverse Integer
查看>>
C6表单(方成eform)---自定义流程标题格式
查看>>
GridView下DropDownList 的选择方法onselectedindexchanged 实现方法
查看>>
Python之set集合
查看>>
Generic Repository Pattern - Entity Framework, ASP.NET MVC and Unit Testing Triangle
查看>>
Win7 下新版本Windows Virtual PC 安装SharePoint步骤详解
查看>>
SQLSERVER 升级版本的方法
查看>>
正则表达式基本语法详解
查看>>
BZOJ2132: 圈地计划
查看>>
PHP数据库连接mysql与mysqli的区别与用法
查看>>
char * 与char []探究理解
查看>>
QT窗体显示在屏幕中间位置
查看>>
emmet使用技巧
查看>>
RPC-Thrift(二)
查看>>
MSSQL for Linux 安装指南
查看>>