Appearance
如何生成自签名的 SSL 证书
安装
如果没有安装 OpenSSL,则需要先安装,OpenSSL 官方并没有提供 Windows 的安装包,我们可以自行编译,或者直接获取别人编译好的版本,这里直接使用编译好的版本: OpenSSL EXE,下载安装就行。
bash
PS C:\Users\x> openssl -v
OpenSSL 3.3.0 9 Apr 2024 (Library: OpenSSL 3.3.0 9 Apr 2024)
生成证书
要使用 OpenSSL 生成测试用的 SSL 证书,你可以遵循以下步骤来创建一个自签名的证书,这个证书将用于测试目的,并不适合在生产环境中使用。
生成私钥: 首先,你需要生成一个私钥文件。这个私钥将用于签署你的证书。
bashopenssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
这条命令将生成一个 2048 位的 RSA 私钥,并将其保存在
private_key.pem
文件中。创建证书请求: 接下来,使用你的私钥创建一个证书签名请求(CSR)。
bashopenssl req -new -key private_key.pem -out csr.pem
在执行这个命令时,OpenSSL 会提示你输入一些信息,如国家/地区、组织、常用名等。对于测试证书,你可以随意填写这些信息,或者直接使用默认值。
自签名证书: 现在,你可以使用私钥对 CSR 进行自签名,从而生成一个测试用的 SSL 证书。
bashopenssl x509 -req -days 365 -in csr.pem -signkey private_key.pem -out certificate.pem
这个命令将使用你的私钥对 CSR 进行签名,并生成一个有效期为 365 天的证书,你可以根据需要调整有效期。
完成上述步骤后,你将拥有两个文件:private_key.pem
(私钥)和 certificate.pem
(证书),这两个文件将用于配置你的 HTTPS 服务器。
请注意,自签名证书在生产环境中通常不被信任,因为它们不是由受信任的证书颁发机构(CA)签发的。然而,对于本地测试和开发环境来说,它们是足够的。如果你需要在生产环境中使用 SSL 证书,你应该从受信任的 CA 处获取证书。