openssl有众多子命令,每个自命令下还有分别的使用选项,看似非常复杂,但是常用的选项都是一致的,这篇文章以openssl rsa子命令的使用为例,介绍常用的选项的使用方法。
在前面的文章中已经使用过一些openssl命令,在对于这些常用参数了解之后,重新再用会有很清晰地理解,接下来在通过一些具体的RSA密钥管理的使用示例来理解这些选项的使用方式。
创建RSA私钥[root@liumiaocn rsatest]# openssl genrsa -out rsa_key.private Generating RSA private key, 2048 bit long modulus (2 primes) ....+++++ ..................................................................+++++ e is 65537 (0x010001) [root@liumiaocn rsatest]# cat rsa_key.private -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAvsZBVtMXOMyKZeNszNlXAQvtcfCPRV8RPaRPepDsY8FYpjTN ytCCsI7cyQUx57OV4RJd7/urYakKKu3XUL/ANoTjm7e7VGf6hfij4JXdbzRKuTv6 s4HLgCpg4RQWp4Op0ZixYFsvfEWgOj+/pYgdWWUtp38qOshEYnB28W1qUfxI9z9p E4rJC6P6UJXImM8VpFX3vhRcm/qms8NYP46b7fhiR+VvDy5i/LFWezMPDQQY8FY6 CCeDQTjw1+c9KFOBa7QCsEoqLUv7O/7BOXUHxufM305DUcgqAe5P3AQL8Necihba ji2cjZ+cL8GvIHhKXJGMVk4in8LVe7LoE1yC4wIDAQABAoIBAQCT33qgAUl7tlgE eA9KjaD557PqYIu9Ot5TSHxuxczl2eWMF1v4vDzA/Eu46XTwY2xmpGT58rq6HVwL QIZoSemEmOcQOY9T8rDmjX8BQ0j7vK26/PnrkE0cED092eNhfxXvqAq9ZJDfI9z5 qZY0idguBdYogdJK9BbFsuUPaD9EQhG9DJuYEumB81Qc2wWXuxZp3ql9Fm5huXId ++42jneH7E5dHxsFyP4titigM24Pf2KSrCkcTI10X9JLR7pCz7KmWHom0ttQ73pV pgU1QebszHchRgC/ZheZom5yKCsSamgOYGpKmPo8Uy4vnqyDP9QEsB1q/jgm0XZ6 kSpUxr4hAoGBAOU4BtZOrr0KST6/QmJ97pv6nZl8PGbfpAaqPi8/08ZSeWGjqqZt b6vx8gnPWO5xZCLXBzwVi1Hp6mP+mogfZ1I4GalT6z9n5J4KN0qq2mB457uNTDnO xtOGzSOku0P5uZruc9r5aJcCXt6fa9+iuQSlPxRE3uxxAE4+sJ/zwQSTAoGBANUQ WYNZjTTdsirK+gQ9X6aLcVMyY1BhPaKdf7dumtQLD4m/iorsj5S+5ek7dNzrCiM2 Px0cBWm+Pya36weJz/Dc9WzFdrzpuWkIEhp5doZQExZD7+UcEJZWZEXZSPdnZ31M O4JuTpmaH00QTuVMIHeb+jEtZneqUxbIS+3WLUpxAoGBAKXbdW8KffvBfqBNij50 OvxYSkMuFxKlDi3Yb6iGubkOIlBZOfi0xRIYvncEtqfKGpfvGYgLWsUJyhVSvAR1 HLDscP0KAPXfOhh08e8wU1VtBti59Ab8LPgP2U3KO8qC3x9RHTm8MEbca0MQ/eBT ASdwXoVPFDLnzT3QtML4gJjLAoGAXHaI8ii10AB55npJv/dGgEc5eep/EQ3yKpUB LQCx7l2Sc6wNGrcIpHun2Oy1jX3u21MaVq6nZrlqPIpKU+4psJSjaX3URq2DiiI3 gQe/ORCdB+eZvyrLxAJf57QhJ0TXs5eWp8bpE13AQbhXFMlRubaWACt8sWfYQSXR VbjB1PECgYEAtADwFxBN5M0TDMqpuYUI7ekgn0I5wCjRjYRmXpGjwa+QcNhiHhz6 OePqr7DifRSQNqrDrqDwcvbP2b+2tUeEWvEaR2itmDMjm+ZL25bF4kBcUyhayoAJ /IuYjPg7Pes92yMhT1nuwEz/VMY4+7FzOKOwYR2wIAxvSet8Yb+XaKE= -----END RSA PRIVATE KEY----- [root@liumiaocn rsatest]#检查私钥的完整性 选项名称 说明 -check 检测RSA私钥的完整性
从执行的结果可以看到 RSA key ok的信息,这就是check的返回结果。
[root@liumiaocn rsatest]# openssl rsa -check -in rsa_key.private RSA key ok writing RSA key -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAvsZBVtMXOMyKZeNszNlXAQvtcfCPRV8RPaRPepDsY8FYpjTN ytCCsI7cyQUx57OV4RJd7/urYakKKu3XUL/ANoTjm7e7VGf6hfij4JXdbzRKuTv6 s4HLgCpg4RQWp4Op0ZixYFsvfEWgOj+/pYgdWWUtp38qOshEYnB28W1qUfxI9z9p E4rJC6P6UJXImM8VpFX3vhRcm/qms8NYP46b7fhiR+VvDy5i/LFWezMPDQQY8FY6 CCeDQTjw1+c9KFOBa7QCsEoqLUv7O/7BOXUHxufM305DUcgqAe5P3AQL8Necihba ji2cjZ+cL8GvIHhKXJGMVk4in8LVe7LoE1yC4wIDAQABAoIBAQCT33qgAUl7tlgE eA9KjaD557PqYIu9Ot5TSHxuxczl2eWMF1v4vDzA/Eu46XTwY2xmpGT58rq6HVwL QIZoSemEmOcQOY9T8rDmjX8BQ0j7vK26/PnrkE0cED092eNhfxXvqAq9ZJDfI9z5 qZY0idguBdYogdJK9BbFsuUPaD9EQhG9DJuYEumB81Qc2wWXuxZp3ql9Fm5huXId ++42jneH7E5dHxsFyP4titigM24Pf2KSrCkcTI10X9JLR7pCz7KmWHom0ttQ73pV pgU1QebszHchRgC/ZheZom5yKCsSamgOYGpKmPo8Uy4vnqyDP9QEsB1q/jgm0XZ6 kSpUxr4hAoGBAOU4BtZOrr0KST6/QmJ97pv6nZl8PGbfpAaqPi8/08ZSeWGjqqZt b6vx8gnPWO5xZCLXBzwVi1Hp6mP+mogfZ1I4GalT6z9n5J4KN0qq2mB457uNTDnO xtOGzSOku0P5uZruc9r5aJcCXt6fa9+iuQSlPxRE3uxxAE4+sJ/zwQSTAoGBANUQ WYNZjTTdsirK+gQ9X6aLcVMyY1BhPaKdf7dumtQLD4m/iorsj5S+5ek7dNzrCiM2 Px0cBWm+Pya36weJz/Dc9WzFdrzpuWkIEhp5doZQExZD7+UcEJZWZEXZSPdnZ31M O4JuTpmaH00QTuVMIHeb+jEtZneqUxbIS+3WLUpxAoGBAKXbdW8KffvBfqBNij50 OvxYSkMuFxKlDi3Yb6iGubkOIlBZOfi0xRIYvncEtqfKGpfvGYgLWsUJyhVSvAR1 HLDscP0KAPXfOhh08e8wU1VtBti59Ab8LPgP2U3KO8qC3x9RHTm8MEbca0MQ/eBT ASdwXoVPFDLnzT3QtML4gJjLAoGAXHaI8ii10AB55npJv/dGgEc5eep/EQ3yKpUB LQCx7l2Sc6wNGrcIpHun2Oy1jX3u21MaVq6nZrlqPIpKU+4psJSjaX3URq2DiiI3 gQe/ORCdB+eZvyrLxAJf57QhJ0TXs5eWp8bpE13AQbhXFMlRubaWACt8sWfYQSXR VbjB1PECgYEAtADwFxBN5M0TDMqpuYUI7ekgn0I5wCjRjYRmXpGjwa+QcNhiHhz6 OePqr7DifRSQNqrDrqDwcvbP2b+2tUeEWvEaR2itmDMjm+ZL25bF4kBcUyhayoAJ /IuYjPg7Pes92yMhT1nuwEz/VMY4+7FzOKOwYR2wIAxvSet8Yb+XaKE= -----END RSA PRIVATE KEY----- [root@liumiaocn rsatest]#选项名称 说明 -noout 不输出密钥信息
可以看到在check结果显示之后,私钥的信息也被显示了出来,而如果结合noout选项则只会显示check结果,而不再显示密钥内容
[root@liumiaocn rsatest]# openssl rsa -check -in rsa_key.private -noout RSA key ok [root@liumiaocn rsatest]#
另外,check子命令用于确认私钥的完整性,如果手动修改了私钥本体中的任何内容,都会导致check命令出错或者不完整性的提示。
从私钥中提取公钥公钥是根据私钥生成的,实际上就是根据私钥提取出来的,如果丢失公钥,只要有私就可以重新提取出来。
选项名称 说明 -in 输入文件名 指定输入文件名 -out 输出文件名 执行输出文件名称 -pubout 指定输出为公钥内容,此时in选项指定必为私钥文件[root@liumiaocn rsatest]# ls rsa_key.private [root@liumiaocn rsatest]# openssl rsa -pubout -in rsa_key.private -out rsa_key.public writing RSA key [root@liumiaocn rsatest]# cat rsa_key.public -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvsZBVtMXOMyKZeNszNlX AQvtcfCPRV8RPaRPepDsY8FYpjTNytCCsI7cyQUx57OV4RJd7/urYakKKu3XUL/A NoTjm7e7VGf6hfij4JXdbzRKuTv6s4HLgCpg4RQWp4Op0ZixYFsvfEWgOj+/pYgd WWUtp38qOshEYnB28W1qUfxI9z9pE4rJC6P6UJXImM8VpFX3vhRcm/qms8NYP46b 7fhiR+VvDy5i/LFWezMPDQQY8FY6CCeDQTjw1+c9KFOBa7QCsEoqLUv7O/7BOXUH xufM305DUcgqAe5P3AQL8Necihbaji2cjZ+cL8GvIHhKXJGMVk4in8LVe7LoE1yC 4wIDAQAB -----END PUBLIC KEY----- [root@liumiaocn rsatest]#对私钥进行加密 选项名称 说明 -in 输入文件名 指定输入文件名 -out 输出文件名 执行输出文件名称 -passout 输出文件密码 指定加密输出文件的密码 -des|-des3|-idea 对输出文件进行加密 -noout 不输出密钥信息 -check 检测RSA私钥的完整性
使用passout可对私钥进行加密,比如如下对私钥进行加密,密码为liumiaocn,生成新的加密后的私钥文件。
[root@liumiaocn rsatest]# openssl rsa -des -passout pass:liumiaocn -in rsa_key.private -out rsa_key.private.pass writing RSA key [root@liumiaocn rsatest]#
可以看到新生成的私钥文件直接cat内容是完全不同的。
[root@liumiaocn rsatest]# diff rsa_key.private rsa_key.private.pass 2,26c2,29 < MIIEpQIBAAKCAQEAvsZBVtMXOMyKZeNszNlXAQvtcfCPRV8RPaRPepDsY8FYpjTN < ytCCsI7cyQUx57OV4RJd7/urYakKKu3XUL/ANoTjm7e7VGf6hfij4JXdbzRKuTv6 < s4HLgCpg4RQWp4Op0ZixYFsvfEWgOj+/pYgdWWUtp38qOshEYnB28W1qUfxI9z9p < E4rJC6P6UJXImM8VpFX3vhRcm/qms8NYP46b7fhiR+VvDy5i/LFWezMPDQQY8FY6 < CCeDQTjw1+c9KFOBa7QCsEoqLUv7O/7BOXUHxufM305DUcgqAe5P3AQL8Necihba < ji2cjZ+cL8GvIHhKXJGMVk4in8LVe7LoE1yC4wIDAQABAoIBAQCT33qgAUl7tlgE < eA9KjaD557PqYIu9Ot5TSHxuxczl2eWMF1v4vDzA/Eu46XTwY2xmpGT58rq6HVwL < QIZoSemEmOcQOY9T8rDmjX8BQ0j7vK26/PnrkE0cED092eNhfxXvqAq9ZJDfI9z5 < qZY0idguBdYogdJK9BbFsuUPaD9EQhG9DJuYEumB81Qc2wWXuxZp3ql9Fm5huXId < ++42jneH7E5dHxsFyP4titigM24Pf2KSrCkcTI10X9JLR7pCz7KmWHom0ttQ73pV < pgU1QebszHchRgC/ZheZom5yKCsSamgOYGpKmPo8Uy4vnqyDP9QEsB1q/jgm0XZ6 < kSpUxr4hAoGBAOU4BtZOrr0KST6/QmJ97pv6nZl8PGbfpAaqPi8/08ZSeWGjqqZt < b6vx8gnPWO5xZCLXBzwVi1Hp6mP+mogfZ1I4GalT6z9n5J4KN0qq2mB457uNTDnO < xtOGzSOku0P5uZruc9r5aJcCXt6fa9+iuQSlPxRE3uxxAE4+sJ/zwQSTAoGBANUQ < WYNZjTTdsirK+gQ9X6aLcVMyY1BhPaKdf7dumtQLD4m/iorsj5S+5ek7dNzrCiM2 < Px0cBWm+Pya36weJz/Dc9WzFdrzpuWkIEhp5doZQExZD7+UcEJZWZEXZSPdnZ31M < O4JuTpmaH00QTuVMIHeb+jEtZneqUxbIS+3WLUpxAoGBAKXbdW8KffvBfqBNij50 < OvxYSkMuFxKlDi3Yb6iGubkOIlBZOfi0xRIYvncEtqfKGpfvGYgLWsUJyhVSvAR1 < HLDscP0KAPXfOhh08e8wU1VtBti59Ab8LPgP2U3KO8qC3x9RHTm8MEbca0MQ/eBT < ASdwXoVPFDLnzT3QtML4gJjLAoGAXHaI8ii10AB55npJv/dGgEc5eep/EQ3yKpUB < LQCx7l2Sc6wNGrcIpHun2Oy1jX3u21MaVq6nZrlqPIpKU+4psJSjaX3URq2DiiI3 < gQe/ORCdB+eZvyrLxAJf57QhJ0TXs5eWp8bpE13AQbhXFMlRubaWACt8sWfYQSXR < VbjB1PECgYEAtADwFxBN5M0TDMqpuYUI7ekgn0I5wCjRjYRmXpGjwa+QcNhiHhz6 < OePqr7DifRSQNqrDrqDwcvbP2b+2tUeEWvEaR2itmDMjm+ZL25bF4kBcUyhayoAJ < /IuYjPg7Pes92yMhT1nuwEz/VMY4+7FzOKOwYR2wIAxvSet8Yb+XaKE= --- > Proc-Type: 4,ENCRYPTED > DEK-Info: DES-CBC,1B54ECE603B4C826 > > bAmc1+rrlUn+8RzgphO9O5wen8Uw/fdCdaHDQXX9ej7Ng4/45N9id36AovDbKbkV > UAlP4yLuZqcGsC7b1hF+vqb8EZozODSjXKD6DEf22ZSRkjYZ4+T1k/bIu3y8bOKl > iS7zmVAdBmmN93mWUQ2kIQ69vxJyUp1HSJyiVckcsFJw59VU4eNhnQXgs3IoEfIP > /iQOkJMCeKPySikUWJVOBSfdN7THi7EG/vgoGP1/Hs0OW148ZfTODWHgQSpr5U2u > hoYzPlZMhKgvdKNRc00lUejVDohmXQ0TnwTLlKTfj543Ns04cdbgQcddFOIeV18h > 881JIZIIvI0SKLmxzHj2MMiZ0tQIuelJATa/ylIPmbtT02xNJuv875eMKKC4lz+i > 3deW5Gce5kbHU/njId28WDSTlxKEi8765W3Uzif/AyrhemhB5baujXogwtRggYE1 > KfjuCbXntF1uaSZOYIOsVbUJqkFxOv+vD5liWBXy+utor2ZQ9yXHuGAsjpGplyqm > VvcAp4wIiibau+8mNZMbx5CTOUUlCNtteEn/iPMe4x/uO8h9sZdsfoqVy/EvL5MB > j1y5tnWRJtEpnLJlAsK5RlLvGkVuMtjNaYmVkVgG0SaLlBvqW+JmTw4GfFT/2JVH > YOzeE9U/y72RqpMz5GWwmpXqt+P5Wdgax5/xu9nF7pM4nOGIIRpUQUi420lATQVq > Qurpu4jgytTdQ3wZ2R3b7Kt0wPl6/68hAgeLFKrWQJAQnGo1+YhJ1PE5W6Yahk/B > MlO/eZlwFHstzFD5YdttrcKpvf4ev8aELdIKCdNbRx6I32Ol38TGcWJQ9OVWCwHE > 6HIUTUwpuexFLJYV8Ps4jy5jq05m8grnb+EXEBgkN4/WtpgiH/X9FGrF6z5trwTZ > XOQpZK/Ss8JOjs6XLV1CB9qYjTQaPWMg+hrkt156O+tZuXbh3oZTv0TUzLRoyhD3 > Rk1RlbbnIsiCUB9dscf/dfnE7gYOZLCZ+Si7l1dEz6nYnVaB+xsghA2F8NbUvxw/ > p6Z3B3srEYBQACgFWMn82gCBZVpprVPRda/8OwL150eN8v1rqgj9SSRQ7WkuGqFm > SQWImDG6uf9dGxfs/oGHs0l1ykfZFgs18dT86DWFX2GKVcCRP/UTzvfgrVddVbsL > P2gl9gUQlcnuGPZttUarjYzvQV6V/02B9fSGG4LcJT8pve51pnd1SEIQWDASGw8i > lhSNylZcmOY+jpffzDkQeBqp4SopWGnJyAhE6AZjkjYiMIDi7CmfpeKAEV6du3lK > bmU6fZFUSc5uXFdymXd+otClwS3S7iP4nlU08wNFRcOkZWkcM5HZEX7SKgLcuGpX > STpk2od6R8C6tlSKtXYV7hEWPUMJNRzljzMx5+6QDkuzesQfsG3sTx0dh8mSc7QP > zvVIo6MDQeetGqgtaz5YjbxXfbXMWxeyXhtSf07KdLnk5l3pi0IWGWIPHhz7zbZJ > mNc+3GRqhxYRaReTwqq7fPTE4KlQl+VlapE1f/Syt/1sCUlr83xHD5BXelkwW9BR > 2y+s9aHd4mX9QlflKeJZX/mkUjZgtkmVRAzPnOnX4wcqglm4tDATUr03hSQVy6lm [root@liumiaocn rsatest]#
在使用时也需要输入密码,比如使用check进行完整性检查的时候
[root@liumiaocn rsatest]# openssl rsa -check -noout -in rsa_key.private RSA key ok [root@liumiaocn rsatest]# openssl rsa -check -noout -in rsa_key.private.pass Enter pass phrase for rsa_key.private.pass: RSA key ok [root@liumiaocn rsatest]#显示text格式化密钥信息 选项名称 说明 -passin 输入文件密码 传递输入密钥文件的解密密码 -text 输出格式化后的密钥文本信息
使用passin参数可以传入密码,而不至于需要手动交互式地输入密码,即可确认相关的子命令的动作。
[root@liumiaocn rsatest]# openssl rsa -text -passin pass:liumiaocn -in rsa_key.private.pass RSA Private-Key: (2048 bit, 2 primes) modulus: 00:be:c6:41:56:d3:17:38:cc:8a:65:e3:6c:cc:d9: 57:01:0b:ed:71:f0:8f:45:5f:11:3d:a4:4f:7a:90: ec:63:c1:58:a6:34:cd:ca:d0:82:b0:8e:dc:c9:05: 31:e7:b3:95:e1:12:5d:ef:fb:ab:61:a9:0a:2a:ed: d7:50:bf:c0:36:84:e3:9b:b7:bb:54:67:fa:85:f8: a3:e0:95:dd:6f:34:4a:b9:3b:fa:b3:81:cb:80:2a: 60:e1:14:16:a7:83:a9:d1:98:b1:60:5b:2f:7c:45: a0:3a:3f:bf:a5:88:1d:59:65:2d:a7:7f:2a:3a:c8: 44:62:70:76:f1:6d:6a:51:fc:48:f7:3f:69:13:8a: c9:0b:a3:fa:50:95:c8:98:cf:15:a4:55:f7:be:14: 5c:9b:fa:a6:b3:c3:58:3f:8e:9b:ed:f8:62:47:e5: 6f:0f:2e:62:fc:b1:56:7b:33:0f:0d:04:18:f0:56: 3a:08:27:83:41:38:f0:d7:e7:3d:28:53:81:6b:b4: 02:b0:4a:2a:2d:4b:fb:3b:fe:c1:39:75:07:c6:e7: cc:df:4e:43:51:c8:2a:01:ee:4f:dc:04:0b:f0:d7: 9c:8a:16:da:8e:2d:9c:8d:9f:9c:2f:c1:af:20:78: 4a:5c:91:8c:56:4e:22:9f:c2:d5:7b:b2:e8:13:5c: 82:e3 publicExponent: 65537 (0x10001) privateExponent: 00:93:df:7a:a0:01:49:7b:b6:58:04:78:0f:4a:8d: a0:f9:e7:b3:ea:60:8b:bd:3a:de:53:48:7c:6e:c5: cc:e5:d9:e5:8c:17:5b:f8:bc:3c:c0:fc:4b:b8:e9: 74:f0:63:6c:66:a4:64:f9:f2:ba:ba:1d:5c:0b:40: 86:68:49:e9:84:98:e7:10:39:8f:53:f2:b0:e6:8d: 7f:01:43:48:fb:bc:ad:ba:fc:f9:eb:90:4d:1c:10: 3d:3d:d9:e3:61:7f:15:ef:a8:0a:bd:64:90:df:23: dc:f9:a9:96:34:89:d8:2e:05:d6:28:81:d2:4a:f4: 16:c5:b2:e5:0f:68:3f:44:42:11:bd:0c:9b:98:12: e9:81:f3:54:1c:db:05:97:bb:16:69:de:a9:7d:16: 6e:61:b9:72:1d:fb:ee:36:8e:77:87:ec:4e:5d:1f: 1b:05:c8:fe:2d:8a:d8:a0:33:6e:0f:7f:62:92:ac: 29:1c:4c:8d:74:5f:d2:4b:47:ba:42:cf:b2:a6:58: 7a:26:d2:db:50:ef:7a:55:a6:05:35:41:e6:ec:cc: 77:21:46:00:bf:66:17:99:a2:6e:72:28:2b:12:6a: 68:0e:60:6a:4a:98:fa:3c:53:2e:2f:9e:ac:83:3f: d4:04:b0:1d:6a:fe:38:26:d1:76:7a:91:2a:54:c6: be:21 prime1: 00:e5:38:06:d6:4e:ae:bd:0a:49:3e:bf:42:62:7d: ee:9b:fa:9d:99:7c:3c:66:df:a4:06:aa:3e:2f:3f: d3:c6:52:79:61:a3:aa:a6:6d:6f:ab:f1:f2:09:cf: 58:ee:71:64:22:d7:07:3c:15:8b:51:e9:ea:63:fe: 9a:88:1f:67:52:38:19:a9:53:eb:3f:67:e4:9e:0a: 37:4a:aa:da:60:78:e7:bb:8d:4c:39:ce:c6:d3:86: cd:23:a4:bb:43:f9:b9:9a:ee:73:da:f9:68:97:02: 5e:de:9f:6b:df:a2:b9:04:a5:3f:14:44:de:ec:71: 00:4e:3e:b0:9f:f3:c1:04:93 prime2: 00:d5:10:59:83:59:8d:34:dd:b2:2a:ca:fa:04:3d: 5f:a6:8b:71:53:32:63:50:61:3d:a2:9d:7f:b7:6e: 9a:d4:0b:0f:89:bf:8a:8a:ec:8f:94:be:e5:e9:3b: 74:dc:eb:0a:23:36:3f:1d:1c:05:69:be:3f:26:b7: eb:07:89:cf:f0:dc:f5:6c:c5:76:bc:e9:b9:69:08: 12:1a:79:76:86:50:13:16:43:ef:e5:1c:10:96:56: 64:45:d9:48:f7:67:67:7d:4c:3b:82:6e:4e:99:9a: 1f:4d:10:4e:e5:4c:20:77:9b:fa:31:2d:66:77:aa: 53:16:c8:4b:ed:d6:2d:4a:71 exponent1: 00:a5:db:75:6f:0a:7d:fb:c1:7e:a0:4d:8a:3e:74: 3a:fc:58:4a:43:2e:17:12:a5:0e:2d:d8:6f:a8:86: b9:b9:0e:22:50:59:39:f8:b4:c5:12:18:be:77:04: b6:a7:ca:1a:97:ef:19:88:0b:5a:c5:09:ca:15:52: bc:04:75:1c:b0:ec:70:fd:0a:00:f5:df:3a:18:74: f1:ef:30:53:55:6d:06:d8:b9:f4:06:fc:2c:f8:0f: d9:4d:ca:3b:ca:82:df:1f:51:1d:39:bc:30:46:dc: 6b:43:10:fd:e0:53:01:27:70:5e:85:4f:14:32:e7: cd:3d:d0:b4:c2:f8:80:98:cb exponent2: 5c:76:88:f2:28:b5:d0:00:79:e6:7a:49:bf:f7:46: 80:47:39:79:ea:7f:11:0d:f2:2a:95:01:2d:00:b1: ee:5d:92:73:ac:0d:1a:b7:08:a4:7b:a7:d8:ec:b5: 8d:7d:ee:db:53:1a:56:ae:a7:66:b9:6a:3c:8a:4a: 53:ee:29:b0:94:a3:69:7d:d4:46:ad:83:8a:22:37: 81:07:bf:39:10:9d:07:e7:99:bf:2a:cb:c4:02:5f: e7:b4:21:27:44:d7:b3:97:96:a7:c6:e9:13:5d:c0: 41:b8:57:14:c9:51:b9:b6:96:00:2b:7c:b1:67:d8: 41:25:d1:55:b8:c1:d4:f1 coefficient: 00:b4:00:f0:17:10:4d:e4:cd:13:0c:ca:a9:b9:85: 08:ed:e9:20:9f:42:39:c0:28:d1:8d:84:66:5e:91: a3:c1:af:90:70:d8:62:1e:1c:fa:39:e3:ea:af:b0: e2:7d:14:90:36:aa:c3:ae:a0:f0:72:f6:cf:d9:bf: b6:b5:47:84:5a:f1:1a:47:68:ad:98:33:23:9b:e6: 4b:db:96:c5:e2:40:5c:53:28:5a:ca:80:09:fc:8b: 98:8c:f8:3b:3d:eb:3d:db:23:21:4f:59:ee:c0:4c: ff:54:c6:38:fb:b1:73:38:a3:b0:61:1d:b0:20:0c: 6f:49:eb:7c:61:bf:97:68:a1 writing RSA key -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAvsZBVtMXOMyKZeNszNlXAQvtcfCPRV8RPaRPepDsY8FYpjTN ytCCsI7cyQUx57OV4RJd7/urYakKKu3XUL/ANoTjm7e7VGf6hfij4JXdbzRKuTv6 s4HLgCpg4RQWp4Op0ZixYFsvfEWgOj+/pYgdWWUtp38qOshEYnB28W1qUfxI9z9p E4rJC6P6UJXImM8VpFX3vhRcm/qms8NYP46b7fhiR+VvDy5i/LFWezMPDQQY8FY6 CCeDQTjw1+c9KFOBa7QCsEoqLUv7O/7BOXUHxufM305DUcgqAe5P3AQL8Necihba ji2cjZ+cL8GvIHhKXJGMVk4in8LVe7LoE1yC4wIDAQABAoIBAQCT33qgAUl7tlgE eA9KjaD557PqYIu9Ot5TSHxuxczl2eWMF1v4vDzA/Eu46XTwY2xmpGT58rq6HVwL QIZoSemEmOcQOY9T8rDmjX8BQ0j7vK26/PnrkE0cED092eNhfxXvqAq9ZJDfI9z5 qZY0idguBdYogdJK9BbFsuUPaD9EQhG9DJuYEumB81Qc2wWXuxZp3ql9Fm5huXId ++42jneH7E5dHxsFyP4titigM24Pf2KSrCkcTI10X9JLR7pCz7KmWHom0ttQ73pV pgU1QebszHchRgC/ZheZom5yKCsSamgOYGpKmPo8Uy4vnqyDP9QEsB1q/jgm0XZ6 kSpUxr4hAoGBAOU4BtZOrr0KST6/QmJ97pv6nZl8PGbfpAaqPi8/08ZSeWGjqqZt b6vx8gnPWO5xZCLXBzwVi1Hp6mP+mogfZ1I4GalT6z9n5J4KN0qq2mB457uNTDnO xtOGzSOku0P5uZruc9r5aJcCXt6fa9+iuQSlPxRE3uxxAE4+sJ/zwQSTAoGBANUQ WYNZjTTdsirK+gQ9X6aLcVMyY1BhPaKdf7dumtQLD4m/iorsj5S+5ek7dNzrCiM2 Px0cBWm+Pya36weJz/Dc9WzFdrzpuWkIEhp5doZQExZD7+UcEJZWZEXZSPdnZ31M O4JuTpmaH00QTuVMIHeb+jEtZneqUxbIS+3WLUpxAoGBAKXbdW8KffvBfqBNij50 OvxYSkMuFxKlDi3Yb6iGubkOIlBZOfi0xRIYvncEtqfKGpfvGYgLWsUJyhVSvAR1 HLDscP0KAPXfOhh08e8wU1VtBti59Ab8LPgP2U3KO8qC3x9RHTm8MEbca0MQ/eBT ASdwXoVPFDLnzT3QtML4gJjLAoGAXHaI8ii10AB55npJv/dGgEc5eep/EQ3yKpUB LQCx7l2Sc6wNGrcIpHun2Oy1jX3u21MaVq6nZrlqPIpKU+4psJSjaX3URq2DiiI3 gQe/ORCdB+eZvyrLxAJf57QhJ0TXs5eWp8bpE13AQbhXFMlRubaWACt8sWfYQSXR VbjB1PECgYEAtADwFxBN5M0TDMqpuYUI7ekgn0I5wCjRjYRmXpGjwa+QcNhiHhz6 OePqr7DifRSQNqrDrqDwcvbP2b+2tUeEWvEaR2itmDMjm+ZL25bF4kBcUyhayoAJ /IuYjPg7Pes92yMhT1nuwEz/VMY4+7FzOKOwYR2wIAxvSet8Yb+XaKE= -----END RSA PRIVATE KEY----- [root@liumiaocn rsatest]#