2

使用 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 浏览器/等验证失败吗?

4

1 回答 1

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

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

于 2013-04-23T07:42:15.257 回答