Openssl 生成公私钥

可以通过命令行生成 openssl 公私钥,也可通过编程实现。

通过命令行生成

➜  ~ openssl genrsa -des3 -out private.pem 2048
Generating RSA private key, 2048 bit long modulus
.....+++
.................................................+++
e is 65537 (0x10001)
Enter pass phrase for private.pem:
Verifying - Enter pass phrase for private.pem:
➜  ~ openssl rsa -in private.pem -out public.pem -outform PEM -pubout
Enter pass phrase for private.pem:
writing RSA key

-desc3:表示生成的key是有密码保护的(注:如果是将生成的key与server的证书一起使用,最好不需要密码,就是不要这个参数,否则其它人就会在请求的时候每次都要求输入密码)

在当前目录下就会生成 public.pemprivate.pem 一对公私钥

通过 Ruby 编程生成

# ssl.rb
require 'openssl'
rsa_key = OpenSSL::PKey::RSA.new(2048)

cipher =  OpenSSL::Cipher::Cipher.new('des3')

private_key = rsa_key.to_pem(cipher,'password')
public_key = rsa_key.public_key.to_pem
key_pair = private_key + public_key

p private_key

p public_key

运行 ruby ssl.rb 即可看到公私钥输出。参考文章:Generating RSA Key Pairs in Ruby

0 条评论
您想说点什么吗?