OpenSSL 在 Windows 上的安装与使用
Let's Encrypt 是一个非营利的证书颁发机构,提供免费的 X.509 安全证书用于传输层安全性(TLS)加密,从而启用安全的 HTTPS 连接。通过自动化过程,Let's Encrypt 旨在简化 HTTPS 的启用,从而提升互联网的安全性和隐私保护。本指南将详细介绍 Let's Encrypt 的工作原理、Certbot 的安装与使用、以及如何在 IIS 上配置 SSL 证书。
一、Let's Encrypt
1. Let's Encrypt 的工作原理
Let's Encrypt 提供了自动化的证书管理流程,主要包括以下几个步骤:
1.1 证书请求
网站所有者可以通过 ACME(自动证书管理环境)协议向 Let's Encrypt 请求证书。ACME 协议允许自动化地完成证书的申请和续订过程。
1.2 域名验证
Let's Encrypt 通过各种方法验证域名所有权,例如 DNS-01 挑战或 HTTP-01 挑战,确保请求方对域名的控制权。
1.3 证书颁发
一旦验证了域名所有权,Let's Encrypt 会颁发签名证书,允许网站使用 HTTPS 加密连接。
2. Certbot
Certbot 是一个免费开源的软件工具,简化了从 Let's Encrypt 获取和续订 SSL/TLS 证书的过程。它自动化了证书管理,使网站所有者能够更轻松地启用 HTTPS。以下是 Certbot 的详细安装和使用步骤:
2.1 安装 Certbot
-
从 Certbot 官方网站 下载 exe 安装程序。 -
运行安装程序并按照向导进行安装。安装程序会提议一个默认的安装目录 C:\Program Files(x86),也可以根据需要进行修改。 -
要启动 Certbot 的命令行界面,选择开始菜单,输入 cmd
(运行 CMD.EXE)或powershell
(运行 PowerShell),然后选择“以管理员身份运行”。
2.2 生成证书和私钥
-
运行以下命令开始生成证书:
certbot certonly --standalone
-
certbot certonly
:请求证书。 -
--standalone
:使用内置的 Web 服务器进行验证。
-
-
提供用于续订和安全通知的电子邮件地址。
-
输入 "Y" 同意 Let's Encrypt 的条款和条件。
-
选择是否愿意将信息用于研究目的。
-
在最后一步,指定需要生成证书的域名。
生成的证书和私钥将保存到指定的位置。
3. OpenSSL
OpenSSL 是一个开源软件库,提供加密功能和 SSL/TLS 协议,用于安全通信。以下是 OpenSSL 的安装和使用说明:
3.1 在 Windows 上安装 OpenSSL
-
访问 SLProweb OpenSSL 下载页面。 -
根据系统架构选择 Win32 或 Win64 版本下载。 -
执行下载的文件并按照安装向导进行操作。确保选择添加 OpenSSL 到系统 PATH 的选项,以便于命令行访问。 -
安装完成后,添加 OpenSSL 到系统 PATH: -
右键点击“此电脑”或“我的电脑”,选择“属性”。 -
进入“高级系统设置”或“系统属性” > “高级”。 -
点击“环境变量”按钮。 -
在“系统变量”部分,找到“Path”变量并选择。 -
点击“编辑...”,在路径列表末尾添加 OpenSSL 的 bin 目录路径(例如:C:\Program Files\OpenSSL-Win64\bin),多个路径之间用分号分隔。 -
点击“确定”保存更改。
-
3.2 生成 PFX 文件
-
前往包含证书和私钥文件的文件夹,在该文件夹中打开命令提示符。
-
运行以下命令生成 PFX 文件:
openssl pkcs12 -export -out yourdomain.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
-
-export
:导出到 PFX 文件。 -
-out yourdomain.pfx
:指定输出的 PFX 文件名。 -
-inkey privkey.pem
:指定私钥文件。 -
-in cert.pem
:指定证书文件。 -
-certfile chain.pem
:指定证书链文件。
-
二、在 IIS 中导入和配置 SSL 证书
1. 导入 SSL 证书
-
打开 IIS 管理器。 -
在连接面板中选择你的服务器。 -
双击“服务器证书”。 -
在操作面板中,点击“导入...”。 -
浏览到你的 PFX 文件位置(如果跳过了转换步骤,请选择转换后的证书文件)。 -
如果 PFX 文件有密码保护,请输入密码。 -
完成导入向导,将 SSL 证书导入到 IIS 中。
2. 绑定 SSL 证书到网站
-
在 IIS 管理器中选择你的站点。 -
在操作面板中点击“绑定...”。 -
点击“添加...”以添加新的绑定。 -
选择 HTTPS 作为类型。 -
从下拉列表中选择你之前导入的 SSL 证书。 -
输入适当的 IP 地址和端口(通常为 443)。 -
点击“确定”保存绑定。
3. 配置网站的 SSL 设置
-
在 IIS 管理器中选择你的站点。 -
双击“SSL 设置”。 -
如果要强制使用 HTTPS,请勾选“要求 SSL”。 -
根据需要配置其他 SSL 设置。 -
在操作面板中点击“应用”以保存更改。
4. 重启 IIS 以应用 SSL 配置更改
重启 IIS Web 服务器以确保 SSL 配置更改生效。
四、结论
通过上述步骤,我们成功生成并在 IIS 中添加了 Let's Encrypt 证书。Let's Encrypt 提供的免费证书和 Certbot 的自动化工具极大简化了 SSL/TLS 证书的获取和管理流程,帮助网站实现 HTTPS 加密连接,提高了网络安全性。