Linux 系统中使用 OpenSSL 生成适用于 IIS 的证书
Linux 系统中使用 OpenSSL 生成适用于 IIS 的证书
1. 确保 OpenSSL 已安装
在 Linux 系统中,可以通过以下命令检查 OpenSSL 是否已安装:
openssl version
如果未安装,可以使用包管理器安装。例如:
- 在基于 Debian 的系统(如 Ubuntu)中:
sudo apt update sudo apt install openssl
- 在基于 Red Hat 的系统(如 CentOS 或 Fedora)中:
sudo yum install openssl
2. 生成私钥
运行以下命令生成私钥:
openssl genrsa -out server.key 2048
这将生成一个 2048 位的 RSA 私钥文件 server.key
。
3. 生成证书签名请求(CSR)
运行以下命令生成 CSR 文件:
openssl req -new -key server.key -out server.csr
在运行此命令时,系统会提示你输入证书的主题信息,例如:
- Country Name (2 letter code): 输入国家代码,例如
CN
。 - State or Province Name: 输入省份名称。
- Locality Name: 输入城市名称。
- Organization Name: 输入组织名称。
- Organizational Unit Name: 输入部门名称。
- Common Name: 输入域名或服务器名称,例如
www.example.com
。 - Email Address: 输入管理员邮箱地址。
4. 生成自签名证书
运行以下命令生成自签名证书:
openssl x509 -req -days 36500 -in server.csr -signkey server.key -out server.crt
这将生成一个有效期为 365 天的自签名证书文件 server.crt
。
5. 将证书和私钥转换为 PFX 格式
IIS 需要 PFX 格式的证书,可以通过以下命令将证书和私钥转换为 PFX 文件:
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
运行此命令时,系统会提示你输入 PFX 文件的密码。请记住这个密码,稍后在 IIS 中导入证书时需要使用。
6. 将 PFX 文件传输到 Windows 服务器
将生成的 server.pfx
文件从 Linux 系统传输到运行 IIS 的 Windows 服务器上。可以使用工具如 scp
、ftp
或其他文件传输方式。
7. 在 IIS 中导入证书
在 Windows 服务器上,按照以下步骤导入 PFX 文件:
- 打开 IIS 管理器。
- 在左侧导航栏中,选择服务器名称。
- 双击“服务器证书”。
- 在右侧“操作”栏中,点击“导入”。
- 选择
server.pfx
文件,并输入之前设置的 PFX 文件密码。 - 点击“确定”完成导入。
8. 绑定证书到网站
- 在 IIS 管理器中,选择要绑定证书的网站。
- 右键单击网站,选择“编辑绑定”。
- 在“网站绑定”窗口中,点击“添加”。
- 选择类型为
https
,端口为443
,并从下拉菜单中选择刚才导入的证书。 - 点击“确定”完成绑定。
注意事项
- 证书安全:自签名证书在浏览器中可能会被标记为不安全。如果用于生产环境,建议从受信任的证书颁发机构(CA)获取证书。
- 私钥保护:私钥文件(
server.key
)非常重要,应妥善保管,避免泄露。 - PFX 文件密码:PFX 文件的密码应足够复杂,以防止未经授权的访问。
通过以上步骤,你可以在 Linux 系统中使用 OpenSSL 生成适用于 IIS 的证书,并完成配置。