互联网上有大量有关 OpenSSL CSR 配置文件外观的示例,但我还没有遇到过规范/属性实际上标准化/声明的地方。
元:这实际上并不是一个编程/开发问题,可能属于服务器故障或超级用户。
openssl req生成 CSR使用四种类型的配置:
控制命令本身操作的选项或设置req,例如要生成的密钥的默认大小(对于 RSA)或要写入的密钥文件,以及在签名时使用的哈希值
主题专有名称中的值;这些通常是从用户/终端提示的,但可以进行硬编码,或使用选项覆盖-subj
CSR 中的“属性”(直接),请参阅rfc2986,它使用与 DN 相同的语法,可以提示或硬编码
请求延期;这些实际上都封装到 OID 1.2.840.113549.1.9.14 的单个属性中,但因为它们对应于证书或 CRL 中的扩展(它们不在属性中),所以 OpenSSL 单独配置它们
您的系统或网络上可能存在的新版本(其他版本链接在右侧)的手册页req描述了标题配置文件格式中的第一组以及可分辨名称和属性节格式中第二组和第三组的语法。openssl-req
DistinguishedName 的组成部分(又名 DN、X501Name 等,它们本身称为属性)和 CSR 的属性(如果有)均由 ASN.1 对象标识符(又名 OID)标识,这使得它们原则上可任意扩展,因此扩展值(请参阅下面的更多内容)。实际上,通常只有少数或两个 OID 用于 DN,并且由于 CSR 通常用于获取 X.509(或 PKIX)证书,并且该证书通常用于与其他程序或系统进行互操作( s) 您通常不希望使用您将要或可能想要与之交互操作的程序或系统无法正确理解的 OID。通常,除了extensionRequest之外的属性根本不被使用,但是当它们被使用时,它们由CA处理,并且通常不会进入证书,因此对于互操作性来说并不重要。
主题 DN 的PKIX证书中通常使用的 OID在rfc5280 第 4.1.2.6 节中定义,部分参考第 4.1.2.4 节中发行者的定义以及附录 A中 ASN.1 模块中的 OID 详细信息。当然,PKIX 并不是唯一使用 X.509 证书的区域,您可能会使用 OpenSSL 来支持具有不同命名标准的其他一些应用程序区域。
常用的扩展OID有十几个,专业领域使用的扩展OID可能至少有一百个,但大多数都被CA放在证书中,无法请求;可能只有少数可以有效地放入 CSR 中。OpenSSL 支持的 CSR 和证书扩展在手册页x509v3_config中定义(如req下页面中的链接req_extensions),以及用于定义“任意”扩展的语法的链接 - 尚未在 OpenSSL 中编码的扩展。对于任意扩展,甚至可能是受支持的扩展,您可能想要定义新的命名 OID,而不是重复不方便且难记的数字形式;这在 的手册页中进行了描述config。
PKIX 证书中常用的扩展在rfc 5280 第 4.2 节中定义,但非 PKIX 证书可能有所不同,并且如上所述,大多数证书扩展在 CSR 中没有意义。
另请注意,req带有-x509选项的命令会生成证书而不是 CSR;在这种情况下,使用主题 DN 和扩展名(不请求实际扩展名)的配置,但不使用属性,并且使用不同的设置来控制命令本身,例如有效时间。
| 归档时间: |
|
| 查看次数: |
2499 次 |
| 最近记录: |