使用OpenSSL utils签署.csr请求时,可能使用“openssl ca”util和“openssl x509”util。openssl x509 - 什么是SSL证书的受信任和拒绝使用?
Openssl ca的文本配置文件具有所有需要的x509选项,如keyUsage,extendedKeyUsage。
Openssl x509的命令行有选项-addtrust和-addreject。当你签署这些选项的证书,你可以看到他们后面的“OpenSSL的X509 -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浏览器/等验证失败?
我看过那里,没有“可信”或“被拒绝”的字样。如果扩展使用部分存在,它的工作方式也是一样的 - 证书只能用于特定目的。 !但!如果您添加该部分并通过“openssl ca”签署证书,则不会在最终签名的.crt中添加“可信使用”或“拒绝使用”字段。 – user2309971 2013-04-23 08:12:27
编辑:“OpenSSL辅助信息”意味着信息仅用于OpenSSL或OpenSSL兼容软件,并且永远不会被通常的SSL/TLS兼容软件使用=>因此可以轻松忽略? – user2309971 2013-04-23 11:14:24
OpenSSL将没有信任辅助信息的CA视为完全可信,并且信息被不理解它的软件忽略,所以应该很容易忽略。请注意,“当前信任设置仅用于根CA”。 – 2013-04-23 11:48:04