2013-04-23 64 views
1

使用OpenSSL utils签署.csr请求时,可能使用“openssl ca”util和“openssl x509”util。openssl x509 - 什么是SSL证书的受信任和拒绝使用?

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

Openssl x509的命令行有选项-addtrust和-addreject。当你签署这些选项的证书,你可以看到他们后面的“OpenSSL的X​​509 -text”输出,是这样的:

[email protected]:~$ 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

[email protected]:~$ 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的“验证”util有效,但是util的用途是什么?无效的“信任”设置是否会导致通常的HTTP浏览器/等验证失败?

回答

0

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

http://tools.ietf.org/html/rfc5280#section-4.2.1.12

编辑:

你说得对,我怕我看了你的问题太很快。信任设置是一个OpenSSL辅助信息,据我所知,这是一个stil实验。请参阅:

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

同样,我为我以前的答案抱歉。

+0

我看过那里,没有“可信”或“被拒绝”的字样。如果扩展使用部分存在,它的工作方式也是一样的 - 证书只能用于特定目的。 !但!如果您添加该部分并通过“openssl ca”签署证书,则不会在最终签名的.crt中添加“可信使用”或“拒绝使用”字段。 – user2309971 2013-04-23 08:12:27

+0

编辑:“OpenSSL辅助信息”意味着信息仅用于OpenSSL或OpenSSL兼容软件,并且永远不会被通常的SSL/TLS兼容软件使用=>因此可以轻松忽略? – user2309971 2013-04-23 11:14:24

+0

OpenSSL将没有信任辅助信息的CA视为完全可信,并且信息被不理解它的软件忽略,所以应该很容易忽略。请注意,“当前信任设置仅用于根CA”。 – 2013-04-23 11:48:04