自签名证书生成
不建议在生产环境中使用自签名证书。对于生产环境,建议使用受信任的证书颁发机构。本节概述了一种在测试和演示目的下生成自签名证书的实用方法。 |
以下说明展示了如何使用 OpenSSL 库生成适合 NOM 环境的自签名证书。使用其他库或在线工具生成的兼容自签名证书也可与 NOM 一起使用。
-
确保已安装 OpenSSL 库。
这些说明中使用的命令已在 OpenSSL 3.1.1 上进行了测试。要检查 OpenSSL 的版本,请使用以下命令
openssl version
-
创建自签名证书
示例:要为公用名称
localhost
生成自签名证书,可以通过 'localhost.localdomain' 或 'my.custom.domain' 的 DNS 名称或 '127.0.0.1' 或 '192.168.100.5' 的 IP 地址访问它openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -subj "/CN=localhost" \ -addext "subjectAltName = DNS:localhost.localdomain, DNS:my.custom.domain, IP:127.0.0.1, IP:192.168.100.5" \ -addext "keyUsage = critical, digitalSignature, keyEncipherment" \ -addext "extendedKeyUsage = serverAuth" \ -addext "authorityKeyIdentifier = keyid:always,issuer:always" \ -keyout "server.key" \ -out "server.cer"
结果,文件
server.key
和server.cer
将在当前目录中创建。重要参数
-
-subj "…"
:用于指定公用名称 -
-addext "subjectAltName = …"
:用于指定备用 DNS 名称和/或 IP 地址
-
-
将生成的证书转换为 PFX 格式,为
server.pfx
中生成的证书存储指定密码openssl pkcs12 -export \ -inkey "server.key" \ -in "server.cer" \ -out "server.pfx" \ -password "pass:changeit"
为了避免在命令行上指定存储密码,请省略先前命令中的 |
然后,您可以使用文件 server.cer
和 server.pfx
为服务器和代理配置 TLS 加密通信。