--- title: "Windows 上创建自签名证书的 7 种方法" date: 2025-02-08 lastmod: 2025-02-08 description: "本文介绍在Windows上创建自签名证书的7种方法,包括使用在线工具、Let’s Encrypt、OpenSSL、PowerShell、IIS、MMC管理工具和XCA工具,适合开发者和管理员用于测试或开发环境。" tags: ["Easysearch", "certificate", "windows"] summary: "背景 # 最近 INFINI Labs 社区有 Easysearch 开发者反馈,其开发环境为 Windows 系统,安装部署 Easysearch 时初始化证书遇到麻烦,如果没有证书就无法开启 Easysearch TLS 传输加密来保护数据的网络传输安全。本文将介绍在 Windows 上创建自签名证书的 7 种不同方法。 使用在线工具 certificatetools.com # 在允许生成自签名证书的在线服务中, CertificateTools 是最先进的。只需查看所有可用选项即可: 就这么简单! 使用 Let’s Encrypt # 首先,安装 Certbot,这是 Let’s Encrypt 官方推荐的工具,用于自动化获取和续期 SSL/TLS 证书。 1. 安装 Certbot 访问 Certbot 下载页面。 选择 Windows 系统,下载并安装 Certbot。 2. 获取证书 打开 命令提示符 或 PowerShell 以管理员身份运行。 输入以下命令获取证书(替换 example.com 为你的域名): certbot certonly --standalone --preferred-challenges http -d example." --- ## 背景 最近 INFINI Labs 社区有 [Easysearch](/products/easysearch/) 开发者反馈,其开发环境为 Windows 系统,安装部署 Easysearch 时初始化证书遇到麻烦,如果没有证书就无法开启 Easysearch TLS 传输加密来保护数据的网络传输安全。本文将介绍在 Windows 上创建自签名证书的 7 种不同方法。 ## 使用在线工具 certificatetools.com 在允许生成自签名证书的在线服务中,[CertificateTools](https://certificatetools.com/) 是最先进的。只需查看所有可用选项即可: {{% load-img "/img/blog/2025/7-ways-to-create-self-signed-certificates-on-windows/1.png" "" %}} 就这么简单! ## 使用 Let’s Encrypt 首先,安装 Certbot,这是 [Let’s Encrypt](https://letsencrypt.org/) 官方推荐的工具,用于自动化获取和续期 SSL/TLS 证书。 **1. 安装 Certbot** - 访问 [Certbot 下载页面](https://certbot.eff.org/instructions)。 - 选择 **Windows** 系统,下载并安装 Certbot。 **2. 获取证书** - 打开 命令提示符 或 PowerShell 以管理员身份运行。 - 输入以下命令获取证书(替换 example.com 为你的域名): ```powershell certbot certonly --standalone --preferred-challenges http -d example.com ``` - Certbot 会自动通过 HTTP 验证域名并生成证书。证书会存储在: ```powershell C:\Certbot\live\example.com\ ``` 里面有以下文件: - cert.pem:证书。 - privkey.pem:私钥。 - fullchain.pem:完整证书链。 **3. 导入证书** - 打开 Windows 证书管理器 (mmc),选择 个人 文件夹。 - 右键点击 个人 文件夹,选择 导入,导入 cert.pem 和 privkey.pem。 **4. 验证证书** - 在证书管理器中,确认证书已成功导入并配置。 **5. 续期证书** - 使用以下命令手动续期证书: ```powershell certbot renew ``` ## 使用 OpenSSL OpenSSL 是一个跨平台的工具,适用于各种操作系统,包括 Windows。在 Windows 上,你需要首先安装 OpenSSL。 **步骤:** 1. 从 [OpenSSL 官方网站](https://www.openssl.org/) 下载并安装 OpenSSL。 2. 打开 命令提示符 或 PowerShell,并导航到 OpenSSL 的安装目录。 3. 运行以下命令生成自签名证书: ```powershell openssl req -new -x509 -keyout mycert.pem -out mycert.pem -days 365 ``` > -new:创建一个新的证书请求。 > -x509:生成一个自签名证书。 > -keyout 和 -out:指定证书和私钥文件的保存路径。 > -days 365:证书有效期为 365 天。 4. 系统会提示你输入一些证书的详细信息,如国家、组织名等。 **验证:** 检查生成的 mycert.pem 文件是否存在,并通过命令 openssl x509 -in mycert.pem -text 查看证书的内容。 ## 使用 PowerShell PowerShell 提供了一个简单的命令 New-SelfSignedCertificate 来创建自签名证书。以下是具体的操作步骤: **步骤:** 1. 按下 Windows + X,选择 Windows PowerShell (管理员)。 2. 在 PowerShell 窗口中输入以下命令: ```powershell New-SelfSignedCertificate -DnsName "example.com" -CertStoreLocation "cert:\LocalMachine\My" ``` > -DnsName "example.com":指定证书的 DNS 名称,可以更改为你需要的域名或主机名。 > -CertStoreLocation "cert:\LocalMachine\My":将证书存储到本地计算机的证书存储区。 3. 执行后,证书将被创建,并存储在 Windows 证书管理器中。 **验证:** 1. 打开 运行 (Windows + R),输入 mmc,点击确定。 2. 在 MMC 中,选择 文件 > 添加/删除管理单元,选择 证书,然后选择 计算机帐户。 3. 查看 个人 文件夹,你将看到刚才创建的证书。 ## 使用 IIS IIS(Internet Information Services)是一种 Web 服务器软件,可以通过它为你的服务器生成自签名证书。 {{% load-img "/img/blog/2025/7-ways-to-create-self-signed-certificates-on-windows/2.png" "" %}} **步骤:** 1. 打开 IIS 管理器,选择你的服务器名称。 2. 在主界面中,双击 服务器证书 选项。 3. 在右侧操作面板中,点击 创建自签名证书。 4. 输入证书的名称(如:example.com),然后选择证书的存储位置。 5. 点击确定,证书将被创建并存储在 IIS 中。 **验证:** 在 服务器证书 部分,你将看到已创建的证书。 ## 使用 MMC 管理工具 Windows 提供了 MMC 管理工具,可以通过图形界面创建自签名证书。 **步骤:** 1. 按 Windows + R 打开运行窗口,输入 mmc 并按下回车。 2. 在 MMC 中,选择 文件 > 添加/删除管理单元,点击 证书 并选择 计算机帐户。 3. 选择 本地计算机 > 确定。 4. 在左侧的证书树中,右键点击 个人 文件夹,选择 所有任务 > 请求新证书。 5. 跟随向导填写证书的详细信息并选择 自签名证书 选项,完成后证书将被创建。 **验证:** 在 MMC 中查看证书是否已经生成,并且可以在 个人 文件夹中找到它。 ## 使用 XCA 工具 XCA 是一个开源工具,支持生成和管理证书。它为用户提供了一个图形化界面,适合那些不熟悉命令行操作的用户。 {{% load-img "/img/blog/2025/7-ways-to-create-self-signed-certificates-on-windows/3.png" "" %}} **步骤:** 1. 从 [XCA 官方网站](https://www.hohnstaedt.de/xca/) 下载并安装 XCA。 2. 启动 XCA,点击 文件 > 新建数据库 来创建一个新的证书数据库。 3. 在 证书 选项卡中,点击 新建证书。 4. 在证书的设置中,选择 自签名证书,然后填写证书的详细信息。 5. 点击 保存 来生成证书。 **验证:** 生成的证书可以在 XCA 的 证书 列表中查看,并导出为文件或在需要的地方使用。 ## 总结 在 Windows 上创建自签名证书对于开发者和管理员来说是一项常见任务。自签名证书通常用于测试环境、开发、或者是没有商业证书的情况下使用。本文所述在 Windows 上创建自签名证书的 7 种方法都有详细步骤和验证方式,希望能给你带来帮助。 **参考资料** 1. [7 ways to create self-signed certificates on Windows ](https://passwork.pro/blog/7-ways-to-create-self-signed-certificates-on-windows/) 2. [如何使用 XCA 创建证书](https://campus.barracuda.com/product/campus/doc/172884309/how-to-create-certificates-with-xca/)