OpenSSL警告,同时使用x509目的命令

我今天试图find我的根CA,并使用openssl x509 -in /path/to/certificate -purpose通过了我的所有openssl x509 -in /path/to/certificate -purpose

当我发现什么应该是我的根CA我得到这个输出:

 Certificate purposes: SSL client : Yes SSL client CA : Yes (WARNING code=3) SSL server : Yes SSL server CA : Yes (WARNING code=3) Netscape SSL server : Yes Netscape SSL server CA : Yes (WARNING code=3) S/MIME signing : Yes S/MIME signing CA : Yes (WARNING code=3) S/MIME encryption : Yes S/MIME encryption CA : Yes (WARNING code=3) CRL signing : Yes CRL signing CA : Yes (WARNING code=3) Any Purpose : Yes Any Purpose CA : Yes OCSP helper : Yes OCSP helper CA : Yes (WARNING code=3) Time Stamp signing : No Time Stamp signing CA : Yes (WARNING code=3) 

看来,Linux的某些部分或其工具并不像一个想法那么好。 它可能找不到这个问题的答案,即使这个网站在三年前也没有回答( 使用-purpose命令时OpenSSL警告 )。

我希望时代已经改变,现在有人能够回答WARNING code=3是什么的问题。 也许还提供所有可能的警告信息及其原因的清单,如果有的话。

那是你自己的自签名根CA,还是旧的Verisign V1 Root CA或类似的? 因为这会产生警告。 从手册 ( 重点是我的)

basicConstraints扩展CA标志用于确定证书是否可以用作CA. 如果CA标志为真,那么它是CA,如果CA标志是假的,则它不是CA. 所有CA应该将CA标志设置为true。

如果basicConstraints扩展不存在,则证书被认为是“可能的CA”,根据证书的预期用途检查其他扩展。 在这种情况下给出一个警告,因为证书实际上不应该被视为一个CA:但是允许它是一个CA来解决一些破碎的软件。

如果证书是V1证书(因此没有扩展名)并且是自签名的,那么它也被认为是CA,但是会再次发出警告 :这是为了解决V1自签名证书的Verisign根问题。

code=3可能与X509 v3扩展缺失的事实有关。 至less这就是对代码的快速扫描: 。 /crypto/x509v3/v3_purp.c

 /*- * CA checks common to all purposes * return codes: * 0 not a CA * 1 is a CA * 2 basicConstraints absent so "maybe" a CA * 3 basicConstraints absent but self signed V1. * 4 basicConstraints absent but keyUsage present and keyCertSign asserted. */ 

下载几个旧的VeriSign根证书完成再现您的警告:

 wget https://www.symantec.com/content/en/us/enterprise/verisign/roots/Class-3-Public-Primary-Certification-Authority-G2.pem openssl x509 -purpose -in Class-3-Public-Primary-Certification-Authority-G2.pem Certificate purposes: SSL client : Yes SSL client CA : Yes (WARNING code=3) SSL server : Yes SSL server CA : Yes (WARNING code=3) Netscape SSL server : Yes Netscape SSL server CA : Yes (WARNING code=3) S/MIME signing : Yes S/MIME signing CA : Yes (WARNING code=3) S/MIME encryption : Yes S/MIME encryption CA : Yes (WARNING code=3) CRL signing : Yes CRL signing CA : Yes (WARNING code=3) Any Purpose : Yes Any Purpose CA : Yes OCSP helper : Yes OCSP helper CA : Yes (WARNING code=3) -----BEGIN CERTIFICATE----- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY oJ2daZH9 -----END CERTIFICATE-----