Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openssl:0深度查找时出现错误20:无法获取本地颁发者证书_Ssl_Openssl_Ssl Certificate - Fatal编程技术网

Openssl:0深度查找时出现错误20:无法获取本地颁发者证书

Openssl:0深度查找时出现错误20:无法获取本地颁发者证书,ssl,openssl,ssl-certificate,Ssl,Openssl,Ssl Certificate,我有3个证书rootca.pem、intermediateca.pem和server.pem 根目录下的Openssl验证是否正常 openssl verify -verbose -CAfile rootca.pem intermediateca.pem intermediateca.pem: OK 服务器证书,由中间层签名-验证失败 openssl verify -verbose -CAfile rootca.pem -untrusted intermediateca.pem server

我有3个证书rootca.pem、intermediateca.pem和server.pem 根目录下的Openssl验证是否正常

openssl verify -verbose -CAfile rootca.pem intermediateca.pem 
intermediateca.pem: OK
服务器证书,由中间层签名-验证失败

openssl verify -verbose -CAfile rootca.pem -untrusted intermediateca.pem server.pem                   
CN = 2ip.ru
error 20 at 0 depth lookup: unable to get local issuer certificate
error server.pem: verification failed
我检查rootca intermediateca和intermediateca服务器的散列主题颁发者。哈希正确


我粘贴我的证书链

证书中的授权密钥标识符(AKI)混乱,这导致它无法建立信任路径。叶证书和中间证书都具有指向根证书的AKI点:

 # leaf
 Issuer: C = RU, O = JSC Sberbank-AST, CN = int_ca
 AKI: keyid:6C:C5:5B:22:4B:2D:CA:EC:C1:15:03:F6:5D:AD:C4:E8:4C:1D:06:89

 # intermediate
 Issuer: DC = ru, DC = sberbank-ast, CN = sberbank-ast-SUN-CA
 AKI: keyid:6C:C5:5B:22:4B:2D:CA:EC:C1:15:03:F6:5D:AD:C4:E8:4C:1D:06:89
可以看出,叶证书和中间证书都基于授权密钥标识符错误地声明由同一CA颁发,而它们使用颁发者字段正确地声明由不同CA颁发

但不仅颁发者字段必须与颁发者的主题字段匹配,授权密钥标识符还必须与颁发者的主题密钥标识符匹配。虽然这对于中间CA和根CA之间的关系是正确的,但对于叶证书和中间CA之间的关系则不是正确的,因此验证在这里失败