1、生成私钥
命令行输入openssl,进入openssl界面,输入:
genrsa -out rsa_private_key.pem [指定长度,如1024]
这里我们没有指定长度,默认长度是2048。建议指定私钥长度在1024以上,否则不够安全。

生成的私钥在rsa_private_key.pem文件中,打开后可以看到:

以上便是经过base64编码后的密钥。
2、生成公钥(由秘钥产生)
首先要明白一点,公钥是公开透明的,私钥是独有的,我们想要的效果就是难以从公钥推出私钥,这就涉及到数学中的模运算了。从私钥生成公钥是通过正向的模运算算得的,计算机很快就能产生,但要反过来要计算机从公钥做逆模运算求得私钥,只要位数够长,就几乎是难以算出的。
因此公钥、私钥,都是成对出现的,公钥也是由私钥经过运算求得的。
同样进入ssl,输入:
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

查看rsa_public_key.pem文件:

网友评论