自签名证书可能得不到浏览器的信任,也不适合用于实时网站,但在测试或内网环境中却非常有用。 您可以使用 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
按照提示提供必要信息,如国家、州、组织等。 输入您自己的姓名、网站和信息。 以下详细信息仅供参考。
- 国家名称:输入您所在国家的双字母代码。 例如,美国
- 州或省名称:键入贵组织正式注册所在州的名称。 例如,加利福尼亚州
- 地区名称:输入贵公司所在的地区或城市名称:例如:圣何塞
- 组织名称:指定贵组织的正式名称:例如,SSL Dragon
- 组织单位名称:输入组织内负责管理 SSL 证书的单位名称。 例如,信息技术
- 通用名称:输入您要保护的完全合格域名 (FQDN) 或您的姓名。 例如,ssldragon.com
- 电子邮件地址: [email protected]
- 挑战密码:yourpassword
- 可选的公司名称:可留空
步骤 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 证书。