【问题标题】:openssl x509 - what is trusted and rejected uses of SSL certificate?openssl x509 - SSL 证书的受信任和拒绝用途是什么?
【发布时间】:2013-04-23 06:36:57
【问题描述】:

当使用 OpenSSL 工具对 .csr 请求进行签名时,可以使用“openssl ca”工具和“openssl x509”工具。

Openssl ca 的文本配置文件包含所有需要的 x509 选项,例如 keyUsage、extendedKeyUsage。

Openssl x509 的命令行有选项 -addtrust 和 -addreject。当您使用这些选项签署证书时,您可以稍后在“openssl x509 -text”输出中看到它们,例如:

user@inet-pc:~$ openssl x509 -req -in test.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out test.crt -setalias "zzzz test alias" -addtrust emailProtection -addreject serverAuth

^ 使用自己的 CA 密钥和证书签署 test.csr

user@inet-pc:~$ openssl x509 -text -in test.crt -nooutCertificate:
Data:
    Version: 1 (0x0)
    Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=RU, ST=Some-State, O=Internet Widgits Pty Ltd, OU=sdds, CN=ca
    Validity
        Not Before: Apr 23 06:24:58 2013 GMT
        Not After : May 23 06:24:58 2013 GMT
    Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=test
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (2048 bit)
         Modulus (2048 bit):
        (huge text here)
    Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
        (huge text here)
Trusted Uses:
  E-mail Protection
Rejected Uses:
  TLS Web Server Authentication
Alias: zzzz test alias

^ 受信任和拒绝使用。这些用途是什么,它们是如何工作的?为什么我在X509 RFC5280 中找不到任何提及它们的内容?如何使用“openssl ca”添加相同的受信任/拒绝使用? “clientAuth”的用法呢?它未列在“受信任”或“拒绝”中 - 大多数常见应用程序会信任此证书吗?

更新 1:OpenSSL 的 x509 手册说“信任”设置对 OpenSSL 的“验证”实用程序有效,但该实用程序是做什么用的?无效的“信任”设置会导致普通 http 浏览器/等验证失败吗?

【问题讨论】:

    标签: ssl openssl x509


    【解决方案1】:

    您需要查看 rfc5280 的第 4.2.1.12 节“扩展密钥用法”:

    https://www.rfc-editor.org/rfc/rfc5280#section-4.2.1.12

    编辑:

    你说得对,恐怕我读你的问题太快了。信任设置是一个 OpenSSL 辅助信息,据我所知,这仍然是实验性的。见:

    https://www.openssl.org/docs/apps/x509.html#TRUST_SETTINGS

    再次,我很抱歉我之前的回答。

    【讨论】:

    • 我看过那里,没有“信任”或“拒绝”的字眼。如果存在扩展使用部分,它的工作方式相同 - 证书只能用于指定目的。 !但!如果您添加该部分并通过“openssl ca”签署证书,则不会在最终签署的.crt 中添加“受信任使用”或“拒绝使用”字段。
    • 编辑:“OpenSSL 辅助信息”表示该信息仅适用于 OpenSSL 或 OpenSSL 兼容软件,通常的 SSL/TLS 兼容软件从未使用过 => 因此很容易忽略?
    • OpenSSL 认为没有信任辅助信息的 CA 是完全信任的,并且该信息会被不理解它的软件忽略,所以是的,它应该很容易被忽略。请注意,“信任设置目前仅用于根 CA”。
    猜你喜欢
    • 1970-01-01
    • 2016-06-01
    • 2014-08-16
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多