window.cnblogsConfig = { switchDayNight: { enable: true, nightMode: false, // 强制夜间模式 (版本 >= v2.0.6) auto: { enable: false } }, }

OpenSSL 证书生成

1. 安装OpenSSL工具

首先确保你已安装OpenSSL工具:

  • Windows用户可以从 OpenSSL官网 下载安装
  • macOS用户使用Homebrew: brew install openssl
  • Linux用户(如Ubuntu): sudo apt-get install openssl

2. 生成私钥和证书请求(CSR)

# 生成2048位的RSA私钥
openssl genrsa -out private.key 2048

# 使用私钥生成证书签名请求(CSR)
openssl req -new -key private.key -out request.csr

系统会提示你输入证书信息:

  • 国家代码(如CN)
  • 省/州
  • 城市
  • 组织名称
  • 部门名称
  • 通用名称(重要!输入你的域名或IP,如127.0.0.1)
  • 邮箱地址

3. 生成自签名证书

# 生成有效期为1年的自签名证书
openssl x509 -req -days 365 -in request.csr -signkey private.key -out certificate.crt

4. 生成PFX文件

# 将CRT和KEY合并为PFX文件
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt

系统会提示你设置PFX密码(可留空但不推荐)

5. 验证生成的PFX文件

# 查看PFX文件内容
openssl pkcs12 -info -in certificate.pfx

6. 安装证书到Windows系统

  1. 双击PFX文件
  2. 选择"本地计算机"存储位置
  3. 输入PFX密码(如果有)
  4. 选择"将所有证书放入下列存储"
  5. 选择"受信任的根证书颁发机构"
  6. 完成导入

7. 在IIS中使用PFX证书

  1. 打开IIS管理器
  2. 选择服务器节点
  3. 双击"服务器证书"
  4. 点击"导入"
  5. 选择你的PFX文件并输入密码
  6. 在网站绑定中选择HTTPS和你的证书

高级选项:包含SAN(主题备用名称)

如果需要为多个域名/IP生成证书,创建san.cnf文件:

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext

[dn]
C = CN
ST = Beijing
L = Beijing
O = MyCompany
OU = IT
CN = mydomain.com

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = mydomain.com
DNS.2 = www.mydomain.com
IP.1 = 127.0.0.1

然后使用以下命令生成证书:

openssl req -new -key private.key -out request.csr -config san.cnf
openssl x509 -req -days 365 -in request.csr -signkey private.key -out certificate.crt -extensions req_ext -extfile san.cnf

注意事项

  1. 自签名证书仅适用于开发和测试环境
  2. 生产环境应使用正规CA颁发的证书
  3. 妥善保管私钥文件(private.key)
  4. PFX密码应设置为强密码
  5. 证书过期后需要重新生成
posted @ 2025-04-08 18:23  AccountNull  阅读(38)  评论(0)    收藏  举报