【发布时间】:2021-08-18 03:39:04
【问题描述】:
在 PKI 系统中,您可以使用 CA 公钥来验证证书:
x509Certificate.verify(CAPublicKey);
但我只想信任指定的证书,而不是整个 CA 和他签署的所有证书。你不能用自己的公钥验证证书这不起作用然后抛出异常:
x509Certificate.verify(currentCertificatePublicKey);
java.security.SignatureException: Signature does not match
所以我尝试这样做:
x509Certificate.getPublicKey().getEncoded().equals(currentCertificatePublicKey);
这项工作,但我不确定是否安全。我做了一些研究,但我仍然不能 100% 确定,因为没有人像那样使用 https,所以问题是:
有没有可能在没有证书私钥的情况下欺骗 https 客户端? (TLS_1.2)
【问题讨论】:
标签: java https x509certificate