1.openssl genrsa

Posted 骏马金龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.openssl genrsa相关的知识,希望对你有一定的参考价值。

openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html


genrsa用于生成RSA私钥,不会生成公钥,因为公钥提取自私钥,如果需要查看公钥或生成公钥,可以使用openssl rsa命令。

使用man genrsa查询其用法。

openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [numbits]

选项说明:

-out filename     :将生成的私钥保存至filename文件,若未指定输出文件,则为标准输出。

-numbits            :指定要生成的私钥的长度,默认为1024。该项必须为命令行的最后一项参数。

-des|-des3|-idea:指定加密私钥文件用的算法,这样每次使用私钥文件都将输入密码,太麻烦所以很少使用。

-passout args    :加密私钥文件时,传递密码的格式,如果要加密私钥文件时单未指定该项,则提示输入密码。传递密码的args的格式见openssl密码格式

例如:

(1).生成512位的rsa私钥,输出到屏幕。

[root@xuexi tmp]# openssl genrsa 512
Generating RSA private key, 512 bit long modulus
..................++++++++++++
.........++++++++++++
e is 65537 (0x10001)
-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBAMDIpW+o0E/XLUHB9XYgNcbLuiAA/wToy0v3GEIdtycWiK1ikXfo
XYf2PCd5ynFtNl7D8jXekr2wgnySNostXSkCAwEAAQJAdMmYnzovaA681fdAUl1U
9qd4i+bOlxTIA68fPP5vc/d+Kqk+fQlHsTmXo0ZpvdLig1v+5EsjoOlbNqkyjTVC
YQIhAPXuK5rPHlYIcmcSWrJNmmACSUz8NZb56cS/4Uq0f289AiEAyK1laGNVGIsg
ROLJqgTRP7vHHhXcQj3RhX9G/3oJBF0CIDtoEAJyW7qeibwaM+x0UIE2rCw7lFpm
/jA3xZ09IrdlAiEArvZW6stoHuz15nlgX+axVYLvWPCwR+TD70OH8ChDAlUCIQDi
LpanU8DwkkGU2KO/5jeDgUtA6jUICNkvPf5Ri5Yqag==
-----END RSA PRIVATE KEY-----

(2).生成512位的rsa私钥,输出到指定的文件genrsa.txt。

[root@xuexi tmp]# openssl genrsa -out genrsa.txt 512

[root@xuexi tmp]# cat genrsa.txt
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBALKdL1RuPeEVlptzzbBYQM6ItPUXwQtVgPYpJH4cHX6UcoIlNaCt
zV+4fUAjH8ZZxdThsnuCJ9BQRgezTsFv4mUCAwEAAQJAd9le89FRNiItP7vxrb1a
Jvu2KKs6vmcuNH6g3PnylIbaI62vKavTVwcq/5VGqLPXwJWeaQVvLefHAEMnOVLF
oQIhAN7q7QB1JMOGBARnVcM9by/0XtJxkHgmZjwSzLEkJNsdAiEAzR8TodfzT0i/
NmnaykyUWtszKtdcsJfbMFZl872XOekCIQDZwfwK+mQTbBL4iklJE/ZNjhYi1TUf
acNs46B5Wql2MQIgMFzPaC1edKcWTmIO7/u2TuW33rYAaLKlP3RffWSKL2ECIHKF
7avQDhh84y+kdVf4CqJ+DE/N+SZcqZi/lMDs41BG
-----END RSA PRIVATE KEY-----

(3).加密私钥文件,加密的密码为123456。

[root@xuexi tmp]# openssl genrsa -out genrsa.txt -des3 -passout pass:123456 512

[root@xuexi tmp]# cat genrsa.txt
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,8775D04B98C9C9EE

zx8ehH7qey+588/UVCKu37NFzMvYCBJr9jrryhg7AJtU9eKxFlDIAVNVvNqgG8k+
a5H4a7TCmHB15coFJH52tpmqdGdfo5+758QEgax/YLTPrlBufatb7ZOOpexvJMUe
oenkdYmgzUOj6WRrBUapzwwdhukXu3fpqxmke5ARBSgzsL7amvTLhSt+8ZmhITj6
Rjr55T9rFvCUUCCMKLVYzHgfrTrMTxidv4VsprO1TQ+W//fJOqFqIGJZfbqVLXsb
/0w1vsmzgB0o0k1KHZVj7L4kTGd+j/2nUtc2eaaZUkUdWTu3OflXObg0JVW2a1pG
e67UfEQ0/xhDzFIz1yDyg0v7wozKOSh9c2etsn+NOJHNa7IBsAWX/7Ufz0uxCBuX
0PkJynaFEU6YMoN5RDdDAjnlcwWHqoEbd2RhyYgja+0=
-----END RSA PRIVATE KEY-----

其实一般情况下能用到的选项也就"-out"和"numbits"

以上是关于1.openssl genrsa的主要内容,如果未能解决你的问题,请参考以下文章

使用openssl 创建pkcs12 keystore 为啥会出错

HTTPS证书生成方法,也适用于APP

openssl genrsa

openssl genrsa

OpenSSL之genrsa&rsa&req&x509子命令用法

Openssl源代码整理学习