type
status
date
slug
summary
tags
category
icon
password
@ZZHow(ZZHow1024)
参考文章:NGINX使用OpenSSL自签证书实现HTTPS安全访问-完整版
准备工作
- 安装 Nginx
- 创建一个保存证书的目录,以 /nginx/ssl 为例
操作步骤
- 通过rsa算法生成2048位长度的秘钥
- 生成通用根证书认证机构证书文件
- 公钥包含了机构信息,在输入下面的指令之后会有一系列的机构信息填写过程
- 这里还有一个过期信息,CA证书也会过期,OpenSSL默认是一个月
- 通过RSA算法生成长度2048位的秘钥
- 生成根证书的私钥 为根证书生成一个私钥,这通常是一个 RSA 或 EC 私钥
- 创建根证书的CSR和自签名证书
- 使用根证书的私钥生成一个证书签名请求(CSR),并自签名该CSR以生成根证书,其中CN=xxx Root CA 可以修改为你需要的根域名
- 创建根证书的CSR
- 在下面的命令中,-extensions xxx_ca 指示 OpenSSL 使用名为 xxx_ca 的扩展配置
- 需要创建一个包含这些扩展的配置文件,并在其中定义 xxx_ca 段落
- 可以写在服务器证书配置的openssl.cnf文件中, 下面为了好区分所以分开写
- 自签名根证书的CSR以生成根证书
- 生成服务器证书的私钥
- 为服务器证书生成一个单独的私钥
- 创建服务器证书的CSR
- 使用服务器证书的私钥生成一个CSR
- 将CN=IP或域名,修改为自己的IP或域名
- 如果这里填写的IP/域名和服务器的IP/域名不匹配,证书始终无效
- 使用根证书签发服务器证书
- 使用根证书和根证书的私钥签发服务器证书的CSR,以生成最终的服务器证书
- 在下面的命令中,-extensions xxx_req -extfile openssl.cnf 指示 OpenSSL 使用配置文件(如 openssl.cnf)中定义的 xxx_req 段落来添加 xxx 扩展。您需要在配置文件中定义这些扩展,例如
- 保存后生成服务器证书
验证证书
- 验证生成的根证书和服务器证书
- 验证根证书
- 验证服务器证书