一、openssl 简介
openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。
官网:https://www.openssl.org/source/
构成部分
- 密码算法库
- 密钥和证书封装管理功能
- SSL通信API接口
用途
- 建立 RSA、DH、DSA key 参数
- 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表)
- 计算消息摘要
- 使用各种 Cipher加密/解密
- SSL/TLS 客户端以及服务器的测试
- 处理S/MIME 或者加密邮件
二、RSA密钥操作
默认情况下,openssl 输出格式为 PKCS#1-PEM
安装:
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
生成SSL证书
生成RSA私钥(使用aes256加密)
openssl genrsa -aes256 -out server.key 2048
提示要你输入并确认密码。
生成 RSA 私钥和自签名证书
openssl req -new -key server.key -outserver.csr
依次输入:
密码
CN
beijing
beijing
CUC
CS
name
1152@qq.com
密码
name
创建一个自己签署的CA证书
openssl req -new -x509 -days 3650 -key server.key -out server.crt
依次输入:
密码
CN
beijing
beijing
CUC
CS
name
1152@qq.com
到这里就看到证书生成完了,可以开始愉快的使用啦~
注意:
openssl 生成的证书在chrome上会提示“您的连接不是私密连接”,看着不是很友好,虽然可以在浏览器上安装证书去掉,但是我不推荐这种使用方法。下面还有一篇博文里写了一个方式,使用比较友好,但是证书有效期只有90天,需要更新。这就需要自己权衡利弊去选择哪种方式更适合自己啦~
之前还写了一篇SSL证书生成,已经亲测有效,参考链接:
https://blog.csdn.net/cocos2dGirl/article/details/89216014
参考链接: