关于RSA加密算法我之前已经讲过了,这里不再重复。
OpenSSL(Open Secure Sockets Layer)是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份,广泛被应用在互联网的网页服务器上。
在Linux、Mac和Windows上通过OpenSSL生成RSA公钥私钥,因为都是通过OpenSSL实现,所以使用的是相同命令,这里列出没带密码和带密码两种方式。可以在某个目录下执行命令或者在文件名前加路径名,因为默认是直接将文件生成到当前目录下。另外,建议至少是1024位,私钥是否要转成PKCS8等格式根据实际需求决定。
生成私钥:
openssl genrsa -out rsa_private_key.pem 1024
将私钥转成PKCS8格式
pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
生成公钥:
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
生成带密码的密钥对:
openssl genrsa -aes128 -passout pass:fenxianglu -out p_rsa_private_key.pem 2048
openssl rsa -in p_rsa_private_key.pem -passin pass:fenxianglu -pubout -out p_rsa_public_key.pub
在Linux和Mac环境由于系统自带了OpenSSL,所以直接执行命令即可。
![](https://www.xubingtao.cn/media/pic/posts/4339/在Linux和Mac中生成RSA密钥对.jpg)
在Windows环境默认没有OpenSSL,比较麻烦,非专业人士不建议安装OpenSSL官网的,因为官网只提供源码需要自己编译,这样会遇到很多问题,这里用Shining Light Productions的Win64 OpenSSL,首先下载安装后将安装目录配到环境变量中。
![](https://www.xubingtao.cn/media/pic/posts/4339/下载安装后将安装目录配到环境变量中.jpg)
然后就可以生成RSA密钥对了。
![](https://www.xubingtao.cn/media/pic/posts/4339/在Win中生成RSA密钥对.jpg)
展开阅读全文
上一篇: 前端JS框架JSEncrypt使用RSA加密算法进行加解密
下一篇:微信公众号如何变现