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.pem 和 private.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