我有3个证书rootca.pem、intermediateca.pem和server.pem Openssl通过root验证intermediateca是否正常
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和服务器的散列主题-颁发者。哈希正确
我粘贴我的证书链here
发布于 2021-04-21 02:55:34
证书中的授权密钥标识符(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之间的关系是不正确的-因此在这里验证失败。
https://stackoverflow.com/questions/67184464
复制相似问题