社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
1. 无加密格式
1.1 产生私钥(无加密)
$openssl genrsa -out rsa_private_key.pem 1024
1.2 产生公钥(无加密)
$openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
2. 加密方式
2.1 生成RSA私钥(使用aes256加密)
$openssl genrsa -aes256 -passout pass:111111 -out rsa_aes_private.key 2048
其中,passout代替shell进行密码输入,否则会提示输入密码
生成加密后的内容如下:
[root@t31 zhangjx]# cat rsa_aes_private.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,64CADCE4A7460270498F475E3D207A32
Ri+pnxsnelFfiUWOg/5x/V78wv4zWEBfixv+XwPaPXm4txLyhQQ+hWDbzS/mXmrP
Lg27M+U99ZD7XIMa+t0aouLsvnsVcogCaHsL9SsIM0IDRFYMv1lYazOpGyjnqEZM
BK0za5XeNbsrstwzWDRwXOETlRHd1hgF5QI3KVnZE3ms9JIbwcg2QmYDpZNQ3ete
2dVdoKzqRZRxhtNVdEo4V9eyLWFsX+PLxdaQf+9u5SmoJLrRQJZcc9smvwmvZ56M
Ymkcgbl61HFjRO2MBX3ehVUSYFzV3ePZ/F787oLTyL+daKDTYR3JK/e02hRbiQgL
RqltUR1K97JfM/aBlmEI7QDzoWOIoVd7hF2iOXdFBdzRBsYHhYfL2y3cYlx2p56k
ePiNDvIL9oDC6pN2cnGfYbiSsAa3Y/7EJ//6jzhOtyWQKkshy7pYlIKUhly2I4S2
41KTriEMmyvn2O911oHlUGLOGvtbyZ++IaEvIgE3oy9cn0Ootc5+KveVQtsiR3uZ
3gwql+OLlUiUWPmk5uPtwEvllXYahYNDITKXDLb8A6hTU9bZ8AJ4/aMtXDPDYwgQ
PE35yfFVbECSAoVWAkRqsb52H4JA4weeasNJL3E9vGCh5oHb0KlxYN/z6wL55VRl
kdrDw5fV7C8w0ynwedRCcNZm9sVyJrMZIPex2Sr64hGqI9nfGeCodiiyMC2RxW0P
+gp9C0ffushQVFxIA8uEs6Gm+R32jZ2w68ulTyiZ5SzuDbb+FsWrhvesZ7pmgv/H
Jy57BOiby6Dl2O4Bbt+oEVqNAssiqYYDGqeo1du32A9TYLost9sYSVe3jvpWiZH9
6xlOdmsXEbXBLvY4PFsdcFNk6bdLjftTWGUtD4IJFODoOnlIUJTPP+NlOGs1K9ur
OsW8i0KbyEnOeku+mpEW39mHYGsSO7ji0eWBk38nLYInzqSuDKlG9lhYol2xGL6G
1f/humtjortRXJMbN1JbVWd4vakqjhtGiqW2c13LvPKA62ASqU73nHVbRMI3TZPA
PpWffyivrGPCF0BdPEad1Q6tNxA37Z70vj2JNRAcc63G5XsZYEdqOvWKW18G9ygH
SHxBvliZf4fkuS4w/PbBznAXedYQ2uZ88uIefhr8hsWGLHnuotZSXSYS5FiKcjJY
VkaXHJC8L00x22qCUNtItfhMjYQOoxqeDlb9VG5kB9jY1BCX2J4NxxIF+52MgCk5
ve1BOEOk5M2BxwRyMS0yYAp40I0NOypjBVy7Bvxf2KU7+/f2cDtbiVOmhIygr8y7
hXNTmouhOEDvLtk+lwnbB3Ahi4JsvHGWnucLHz2NR8kZ6drGzVR4YrNU8U1yzccq
NdVSVaQMLFpX0wF7C3toXwEsA0+6YjPnwxtIl4KcRDx758U3vbT6nA+gxn/m2CI7
xZN4Pw4KnKofdCoOjmEm3RakU3EgB3FZjpa1d027Usb4b5zYZcm5FDgfokgrsSY9
40/SYDTziLF8PH2DYNeJ2eAs7yT3FU/8mPs7ufjejaF3MdU2KJi/vYPNhjnerl6g
AB3qgDITBbm6vVFtWxySoZ/K0KaKUbn6LeXDFaaBbvyA9r2vKGj7rSmVEngyNUU7
-----END RSA PRIVATE KEY-----
2.2 生成RSA公钥(需要提供密码)
$openssl rsa -in rsa_aes_private.key -pubout -out rsa_public.key
Enter pass phrase for rsa_aes_private.key:
writing RSA key
第二种非交互的方式
$openssl rsa -in rsa_aes_private.key -passin pass:111111 -pubout -out rsa_public.key
writing RSA key
其中,passin代替shell进行密码输入
生成的公钥内容如下:
[root@t31 zhangjx]# cat rsa_public.key
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmfIjErk9aB2KetP5487H
ytbFH7rtZe2UdQtGWSUsr9zqBA8TOOfGtLCFF2f3O85pD/RlNwsApYHa3GVnCBab
lUXrm7CpAOv9gPJntn0ZYuLzveuT8igQHJ85uqk4CMptWtmAyC8S0VH8UiTiN3/4
J9QxXW65BYh4/rx76fS0M9yA1+mkNuu7xrqY37fSVQ693lUj2XPlb+4XLN1UHHtX
wIk/SfeMxIHpTGCg8qObyAVg4m//nn0hUi+f9VTdiEa+UcDDfCx/LdNbH8w9oApH
OCK5n00vTVw4MwtGWJ/PQ69L3N76gQNxl8cfTZGHvaslrjiDi52w2+D0KlRS2P/h
JwIDAQAB
-----END PUBLIC KEY-----
3.转换命令
3.1 查看秘钥明细
$openssl rsa -in rsa_private.key -noout -text
3.2私钥转非加密
openssl rsa -in rsa_aes_private.key -passin pass:111111 -out rsa_private.key
3.3 私钥转加密
openssl rsa -in rsa_private.key -aes256 -passout pass:111111 -out rsa_aes_private.key
3.4 私钥PEM转DER
openssl rsa -in rsa_private.key -outform der -out rsa_aes_private.der
-inform和-outform 参数制定输入输出格式,由der转pem格式同理
3.5 查看公钥明细
$openssl rsa -pubin -in rsa_public_key.pem -noout -text
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!