OpenSSL 安装及RSA公钥和私钥生成

首先生成公私钥,然后将生成的公钥上传到应用公钥,步骤如下:

1.OpenSSL工具安装
Linux用户(以Ubuntu为例)
sudo apt-get install openssl
Windows用户
开发者可以在OpenSSL官方网站下载Windows的OpenSSL安装包进行安装。

2.RSA私钥及公钥生成

(1) Linux用户(以Ubuntu为例)
$ openssl 进入OpenSSL程序
OpenSSL> genrsa -out rsa_private_key.pem 1024 生成私钥
OpenSSL> pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt Java开发者需要将私钥转换成PKCS8格式
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 生成公钥
OpenSSL> exit ## 退出OpenSSL程序

(2) 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 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt Java开发者需要将私钥转换成PKCS8格式
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 生成公钥
OpenSSL> exit ## 退出OpenSSL程序

注意:
对于使用Java的开发者,将pkcs8在console中输出的私钥去除头尾、换行和空格,作为开发者私钥,对于.NET和PHP的开发者来说,无需进行pkcs8命令行操作。
经过以上步骤,开发者可以在当前文件夹中(Windows用户在C:\OpenSSL-Win32\bin)看到rsa_private_key.pem和rsa_public_key.pem两个文件,前者为私钥,后者为公钥。开发者将私钥保留,将公钥提交给网关,用于信息加密及解密。以下为使用OpenSSL生成的私钥文件和公钥文件示例。

标准的私钥文件示例(PHP、.NET使用)
私钥:
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDu/7xmtLaPivJX2JUI8GiyBjWrASYO3RgnMsQXNOckulMFDmjC
rwD076tek2zmvOMFFDhvGFBsigmkGfCvKBiE1NdpzJu6toFQwCc7g+tLSknz+8Zu
zKj1aJGnj74SkO90SXE7Jza0KgxVCPbbNPf8cz+dK4OCsKSeTCVilb58ywIDAQAB
AoGASe9PJy6sc0d2pPpZUISevsPxAk++qEZ5XFb2Fn/FKbWCTUQh4GgnEZ67Euzk
eZThXgbdVnDdIFarmNp1fJoYyxW+d4edC/MzU/8Mpc0Zn3xIfHtgciq46MVboKuU
t4rHitg8F1V48au4yEwjLip3GILBHWv0r0kQJf2EeJc57MECQQD9juEpzx+Lii2n
Ai8zI1O54r4ZN+7Cx546vXvVGvzPa5rVhPASCfJi3MpgR1M43r2ctjCLqZEWjew6
rDN6G3r7AkEA8Uz2XRdDNHhSUYdgY62rk28a90dKIbtQe7t/TfoLr5ijYwQp7gCZ
NjJYNwyWovYUXNeotyjSVzKp6llc0lFccQJBAPswufWuYITfnfxumI3juIVVkJfx
JlLGaQWuQ+hJdRyTcG+I5EAqpHq2WrLo1hRn7ZY7k3o4wSiD7vvtLo4QfVMCQC0R
8/5FRw843h9OSumzWZXLLd08GpOcWhcSWV/mMWKV/waSk4ZZ5EQkOSfnGQfNMNZ6
jY/QdyFEXEpicJz0B3ECQBzUc6DBdqBRoN02pdkkDWyGaBmWMlznXeWYmmsI5wdp
m//cCfICmSbEqqXb0dhl8WL8krmevgAtoF5KGSUOX7I=
-----END RSA PRIVATE KEY-----

PKCS8处理后的私钥文件示例(Java使用)
JAVA使用:
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAO7/vGa0to+K8lfY
lQjwaLIGNasBJg7dGCcyxBc05yS6UwUOaMKvAPTvq16TbOa84wUUOG8YUGyKCaQZ
8K8oGITU12nMm7q2gVDAJzuD60tKSfP7xm7MqPVokaePvhKQ73RJcTsnNrQqDFUI
9ts09/xzP50rg4KwpJ5MJWKVvnzLAgMBAAECgYBJ708nLqxzR3ak+llQhJ6+w/EC
T76oRnlcVvYWf8UptYJNRCHgaCcRnrsS7OR5lOFeBt1WcN0gVquY2nV8mhjLFb53
h50L8zNT/wylzRmffEh8e2ByKrjoxVugq5S3iseK2DwXVXjxq7jITCMuKncYgsEd
a/SvSRAl/YR4lznswQJBAP2O4SnPH4uKLacCLzMjU7nivhk37sLHnjq9e9Ua/M9r
mtWE8BIJ8mLcymBHUzjevZy2MIupkRaN7DqsM3obevsCQQDxTPZdF0M0eFJRh2Bj
rauTbxr3R0ohu1B7u39N+guvmKNjBCnuAJk2Mlg3DJai9hRc16i3KNJXMqnqWVzS
UVxxAkEA+zC59a5ghN+d/G6YjeO4hVWQl/EmUsZpBa5D6El1HJNwb4jkQCqkerZa
sujWFGftljuTejjBKIPu++0ujhB9UwJALRHz/kVHDzjeH05K6bNZlcst3Twak5xa
FxJZX+YxYpX/BpKThlnkRCQ5J+cZB80w1nqNj9B3IURcSmJwnPQHcQJAHNRzoMF2
oFGg3Tal2SQNbIZoGZYyXOdd5ZiaawjnB2mb/9wJ8gKZJsSqpdvR2GXxYvySuZ6+
AC2gXkoZJQ5fsg==
-----END PRIVATE KEY-----

公钥文件示例:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDu/7xmtLaPivJX2JUI8GiyBjWr
ASYO3RgnMsQXNOckulMFDmjCrwD076tek2zmvOMFFDhvGFBsigmkGfCvKBiE1Ndp
zJu6toFQwCc7g+tLSknz+8ZuzKj1aJGnj74SkO90SXE7Jza0KgxVCPbbNPf8cz+d
K4OCsKSeTCVilb58ywIDAQAB
-----END PUBLIC KEY-----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值