OpenSSL 在 Windows 上的安装与使用

发布:2024-09-08 15:52 阅读:56 点赞:0

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

  1. 从 Certbot 官方网站 下载 exe 安装程序。
  2. 运行安装程序并按照向导进行安装。安装程序会提议一个默认的安装目录 C:\Program Files(x86),也可以根据需要进行修改。
  3. 要启动 Certbot 的命令行界面,选择开始菜单,输入 cmd(运行 CMD.EXE)或 powershell(运行 PowerShell),然后选择“以管理员身份运行”。

2.2 生成证书和私钥

  1. 运行以下命令开始生成证书:

    certbot certonly --standalone
    • certbot certonly:请求证书。
    • --standalone:使用内置的 Web 服务器进行验证。
  2. 提供用于续订和安全通知的电子邮件地址。

  3. 输入 "Y" 同意 Let's Encrypt 的条款和条件。

  4. 选择是否愿意将信息用于研究目的。

  5. 在最后一步,指定需要生成证书的域名。

生成的证书和私钥将保存到指定的位置。

3. OpenSSL

OpenSSL 是一个开源软件库,提供加密功能和 SSL/TLS 协议,用于安全通信。以下是 OpenSSL 的安装和使用说明:

3.1 在 Windows 上安装 OpenSSL

  1. 访问 SLProweb OpenSSL 下载页面
  2. 根据系统架构选择 Win32 或 Win64 版本下载。
  3. 执行下载的文件并按照安装向导进行操作。确保选择添加 OpenSSL 到系统 PATH 的选项,以便于命令行访问。
  4. 安装完成后,添加 OpenSSL 到系统 PATH:
    • 右键点击“此电脑”或“我的电脑”,选择“属性”。
    • 进入“高级系统设置”或“系统属性” > “高级”。
    • 点击“环境变量”按钮。
    • 在“系统变量”部分,找到“Path”变量并选择。
    • 点击“编辑...”,在路径列表末尾添加 OpenSSL 的 bin 目录路径(例如:C:\Program Files\OpenSSL-Win64\bin),多个路径之间用分号分隔。
    • 点击“确定”保存更改。

3.2 生成 PFX 文件

  1. 前往包含证书和私钥文件的文件夹,在该文件夹中打开命令提示符。

  2. 运行以下命令生成 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 证书

  1. 打开 IIS 管理器。
  2. 在连接面板中选择你的服务器。
  3. 双击“服务器证书”。
  4. 在操作面板中,点击“导入...”。
  5. 浏览到你的 PFX 文件位置(如果跳过了转换步骤,请选择转换后的证书文件)。
  6. 如果 PFX 文件有密码保护,请输入密码。
  7. 完成导入向导,将 SSL 证书导入到 IIS 中。

2. 绑定 SSL 证书到网站

  1. 在 IIS 管理器中选择你的站点。
  2. 在操作面板中点击“绑定...”。
  3. 点击“添加...”以添加新的绑定。
  4. 选择 HTTPS 作为类型。
  5. 从下拉列表中选择你之前导入的 SSL 证书。
  6. 输入适当的 IP 地址和端口(通常为 443)。
  7. 点击“确定”保存绑定。

3. 配置网站的 SSL 设置

  1. 在 IIS 管理器中选择你的站点。
  2. 双击“SSL 设置”。
  3. 如果要强制使用 HTTPS,请勾选“要求 SSL”。
  4. 根据需要配置其他 SSL 设置。
  5. 在操作面板中点击“应用”以保存更改。

4. 重启 IIS 以应用 SSL 配置更改

重启 IIS Web 服务器以确保 SSL 配置更改生效。

四、结论

通过上述步骤,我们成功生成并在 IIS 中添加了 Let's Encrypt 证书。Let's Encrypt 提供的免费证书和 Certbot 的自动化工具极大简化了 SSL/TLS 证书的获取和管理流程,帮助网站实现 HTTPS 加密连接,提高了网络安全性。