如何在创建自签名证书时将“国家名称”等参数传递给OpenSSL?


8

我可以使用此命令创建自签名证书

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

但是有可能将诸如“国家名称”,“州或省名称”等参数传递给OpenSSL以自动化此过程吗?


您仍然需要通过CONF文件传递主机名。否则,浏览器将拒绝证书,即使它在适当的信任存储区中也是如此。那是因为 CA / Browser基准要求 需要主机名 主题替代名称 ,添加它们的唯一方法是通过CONF文件。另见 如何使用openssl创建自签名证书? 在Stack Overflow上。
jww

Answers:


9

这个 网站 很好地解释了如何做到这一点:

CSR生成的神奇之处在于没有提示证书的主题领域中的值,而是在 -subj 选项。

-subj arg
  Replaces subject field of input request with specified data and outputs modified request.
    The arg must be formatted as /type0=value0/type1=value1/type2=...,
    characters may be escaped by \ (backslash), no spaces are skipped.

例如:

openssl ... -subj "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com"

在我上面链接的页面上查看更多详细信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.