当使用OpenSSL utils签署.csr请求时,可以使用“openssl ca”util和“openssl x509”util。
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.csruser@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浏览器等等?
答案 0 :(得分:0)
您需要查看rfc5280的第4.2.1.12节“扩展密钥用法”:
http://tools.ietf.org/html/rfc5280#section-4.2.1.12
编辑:
你是对的,我恐怕我太快读了你的问题。信任设置是一个OpenSSL辅助信息,据我所知是stil实验。见:
https://www.openssl.org/docs/apps/x509.html#TRUST_SETTINGS
同样,我很抱歉我之前的回答。