如何使用 OpenSSL 生成自签名证书?

How to Create a Self-Signed Certificate Using OpenSSL

自签名证书可能得不到浏览器的信任,也不适合用于实时网站,但在测试或内网环境中却非常有用。 您可以使用 OpenSSL 创建自签名证书。 这是一个快速、免费的过程。 您只需运行几个命令即可。

本指南将告诉你如何在 Windows、Linux 和 Mac 操作系统中使用 OpenSSL 生成自签名证书。 无论使用哪种操作系统,方法都是一样的。 那么,让我们开始吧!


如何创建自签名证书

在讨论技术问题之前,让我们先了解一下自签名证书的概念。 自签名证书是由其创建者而不是受信任的证书颁发机构(CA)签名的数字证书。 外部实体不支持自签名证书,但自签名证书对内部使用(如测试、开发或个人服务器)非常有用。

前提条件是确保系统已安装OpenSSL。 大多数 Linux 发行版都预装了 OpenSSL。 Windows 用户可按照我们的安装说明下载并安装 OpenSSL。 要在 Mac 上安装 OpenSSL,可以使用Homebrew 软件包管理器,运行 “brew install openssl”。


步骤 1:打开终端或命令提示符

首先,打开终端或命令提示符。 在 Linux 和 Mac 上,您可以在 “应用程序 “或 “实用工具 “文件夹中找到它。 在 Windows 系统中,在开始菜单中搜索 “命令提示符”。


第 2 步:导航至 OpenSSL 目录(可选)

如果 OpenSSL 不在系统的 PATH 中,请使用 cd 命令导航到安装 OpenSSL 的目录。 例如

cd /path/to/openssl


步骤 3:生成私人密钥

第一步是使用 OpenSSL 生成私钥。 执行以下命令 将private.key替换为所需的文件名。

openssl genpkey -algorithm RSA -out private.key


步骤 4. 生成证书签名请求(CSR)

然后,使用私钥生成 CSR。 CSR 是一个文本块,包含有关域名和公司的联系信息。

openssl req -new -key private.key -out csr.pem

按照提示提供必要信息,如国家、州、组织等。 输入您自己的姓名、网站和信息。 以下详细信息仅供参考。

  1. 国家名称:输入您所在国家的双字母代码。 例如,美国
  2. 州或省名称:键入贵组织正式注册所在州的名称。 例如,加利福尼亚州
  3. 地区名称:输入贵公司所在的地区或城市名称:例如:圣何塞
  4. 组织名称:指定贵组织的正式名称:例如,SSL Dragon
  5. 组织单位名称:输入组织内负责管理 SSL 证书的单位名称。 例如,信息技术
  6. 通用名称:输入您要保护的完全合格域名 (FQDN) 或您的姓名。 例如,ssldragon.com
  7. 电子邮件地址[email protected]
  8. 挑战密码:yourpassword
  9. 可选的公司名称留空

步骤 5. 生成自签名证书

最后,使用 CSR 和私钥创建自签名证书:

openssl req -x509 -days 365 -key private.key -in csr.pem -out certificate.crt

该命令创建有效期为 365 天的自签名证书。 您可以根据需要调整有效期。

运行使用 OpenSSL 生成自签名证书的命令后,证书文件将在执行命令的目录下创建。

在该命令中,输出标志 -out certificate.crt 指定证书文件的名称,即 certificate.crt。 因此,要找到生成的证书,可以在运行 OpenSSL 命令时所在的同一目录中查找。 或者,如果你为输出文件指定了不同的路径,你可以在指定的位置找到证书。


证书生成后的注意事项

生成自签名证书后,有几个注意事项需要牢记:

  • 证书安装:生成证书后,必须将其安装到服务器或服务上。 安装过程因应用程序或服务器软件而异。 例如,使用 Apache 时,通常需要更新 SSL 配置文件以指向证书文件。
  • 证书续期:自签名证书有到期日,通常在生成过程中设定。 必须跟踪证书到期日期,并在到期前更新证书,以避免服务中断。
  • 证书信任:受信任的证书颁发机构颁发的证书不同,网络浏览器或电子邮件客户端不会自动信任自签名证书。 用户在访问使用自签名证书保护的服务时,可能会遇到警告信息,提示他们确认安全例外。 这就是为什么自签名适用于开发目的,而不是实时生产。

底线

在本指南中,我们介绍了如何使用 OpenSSL 生成自签名证书。 无论在 Linux 还是 Windows 中创建自签名证书,步骤和命令行都是相同的。
我们还讨论了证书生成后的注意事项,以确保顺利实施和运行。 虽然自签名证书对内部用途很有价值,但在需要第三方验证的生产环境中,切记要获得可信的 SSL 证书

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.