一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。
一、openssl生成证书
1.1、req命令简介
req命令主要的功能:生成证书请求文件、验证证书请求文件和自签名证书(创建根证书)。
通过向openssl 提供一个无效的命令参数,比如:-help 就可以获得可用的命令帮助说明,如下图
1.2、req命令的配置模板文件
使用config参数,需要编写模板文件req.cnf,如下:
# 定义输入用户信息选项的"特征名称"字段名,该扩展字段定义了多项用户信息。
distinguished_name = req_distinguished_name
# 生成自签名证书时要使用的证书扩展项字段名,该扩展字段定义了要加入到证书中的一系列扩展项。
x509_extensions = v3_req
# 如果设为no,那么 req 指令将直接从配置文件中读取证书字段的信息,而不提示用户输入。
prompt = no
[req_distinguished_name]
# 国家代码
C = CN
# 省份
ST = HeBei
# 城市
L = ShiJiaZhuang
# 企业/单位名称
O = Network
# 企业部门
OU = Development
# Common Name
CN = www.network.cn
##### 要加入到证书请求中的一系列扩展项 #####
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = www.network.cn
DNS.2 = *.network.cn
IP.1 = 192.168.6.106
1.3、执行req命令
如果私钥不需要口令,则增加参数-nodes
openssl req -x509 -days 365 -newkey rsa:2048 -keyout ng_server_key.key -out ng_server_crt.crt -config req.cnf -sha256
备注:配置nginx时需要该口令文章来源:https://www.toymoban.com/news/detail-734061.html
二、nginx配置证书
server {
# 设置端口开启ssl
listen 443 ssl;
# 存放私钥口令的文件
ssl_password_file ssl_pwd;
# 证书
ssl_certificate ng_server_crt.crt;
# 密钥
ssl_certificate_key ng_server_key.key;
......
}
重启nginx,查看效果文章来源地址https://www.toymoban.com/news/detail-734061.html
到了这里,关于openssl生成证书和nginx配置ssl证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!