• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

openssl生成证书和nginx配置ssl证书

武飞扬头像
yangtom249
帮助1

一般情况下,使用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时需要该口令

二、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,查看效果

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgeggia
系列文章
更多 icon
同类精品
更多 icon
继续加载