以我自己的 CA 身份签署 CSR 时将本地域附加到 commonName 和 SubjectAltName

以我自己的 CA 身份签署 CSR 时将本地域附加到 commonName 和 SubjectAltName

我有一台设备,它可以生成自己的密钥对,并根据这些密钥生成自签名证书。然后它可以从中生成 CSR,我可以从设备中导出该证书。我无法影响证书或 CSR 的内容。

它使用的“CommonName”基于 DeviceName,其中不能包含任何“。”

现在,当我使用本地/私有 CA 签署该 CSR,并将最终证书导入设备,然后转到https://mydevice.local浏览器当然会抱怨,因为证书的“CommonName”是“mydevice”,没有本地域后缀。

openssl 命令是否有配置选项,以便“CommonName”获得预配置的后缀,如本例中的“.local”?此外,我想将相同的字符串添加到“SubjectAltName”,以便 Chrome 也停止抱怨。

答案1

CA 软件可以自由地丢弃该主题并代之以自己的主题。CSR 中的所有内容(公钥本身除外)仅供参考。

为了openssl 请求openssl ca,使用-subj选项覆盖主题:

openssl ca -in device.csr -out device.crt -subj "/O=TabascoNet/OU=Devices/CN=mydevice.local"

要覆盖扩展,请使用-extensions选项,并将所需的扩展(subjectAltName、extendedKeyUsage 等)放入 openssl.cnf 中。

相关内容