1. 检查 openssl 应用
# 检查版本
openssl version -a
# 修改配置(如需)
vi /etc/ssl/openssl.cnf
2. 生成证书
文件夹随意位置,生成根证书的私钥(CA 证书的 RSA 密钥,PEM 格式)。
# 会提示输入密码,无法跳过,输入即可
openssl genrsa -des3 -out server.key 2048
# 去除密码(否则调用此文件时会经常要求输入密码)
openssl rsa -in server.key -out server.key
# 此时生成 server.key 文件
命令说明:
genrsa
:产生rsa密钥命令。
-out
:输出文件名。
2048
:密钥的长度位数,默认为512。
3. 生成证书签署请求
创建服务器证书的申请文件 server.csr。
# 会要求输入国家、省份等信息,可回车跳过
openssl req -new -key server.key -out server.csr
# 此时生成 server.csr 文件
4. 生成自签证书
即根证书。
# 有效期为10年,会要求输入国家、省份等信息,可回车跳过
openssl req -new -x509 -key server.key -out ca.crt -days 3650
# 此时生成 ca.srt 文件
命令说明:
-new
:表示生成一个新证书签署请求。
-x509
:专用于 CA 生成自签证书,如果不是自签证书则不需要此项。
-key
:用到的私钥文件。
-out
:证书的保存路径。
-days
:证书的有效期限,单位是 day(天),默认是 openssl.cnf 的 default_days。
5. 创建服务器证书
# 有效期10年
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
# 此时生成 ca.srl,server.crt 文件
至此,共存在五个文件:
server.key
,
server.csr
,
ca.srl
,
ca.crt
,
server.crt
。