gpt4 book ai didi

java - x509certificate certpath 验证

转载 作者:行者123 更新时间:2023-11-30 05:57:45 26 4
gpt4 key购买 nike

我们的用例需要在 PKIX 设置上通过 OCSP 验证证书吊销。我的起点是这个相关问题的代码:OCSP Revocation on client certificate

我在应用程序级别手动执行此操作,因为 tomcat 不支持它。但是,我在构建 certPath 时遇到了一些问题,我认为我缺少一些基本的理解。

首先,我尝试为传入的客户端 x509Certificate 创建 certPath。

KeyStore 存储已正确初始化并且仅包含与客户端 x509Certificate 匹配的根证书。

编辑:我在添加中间证书后也得到了相同的结果。

X509CertSelector certSelector = new X509CertSelector();
certSelector.setSubject(x509certificate.getSubjectX500Principal());
PKIXParameters params = new PKIXBuilderParameters(store,certSelector);
CertPathBuilder cpb = CertPathBuilder.getInstance(CertPathBuilder.getDefaultType());
CertPath certPath = cpb.build(params).getCertPath();

但是,我在运行时遇到错误:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

可能缺少什么?

最佳答案

如您所见,我不确定 CPB 如何找到主题证书 (x509certificate) 来构建路径,除非它在您的 keystore 中,而这通常不会。仅提供主题名称不足以构建经过验证的路径;发现和验证算法需要完整的主题证书。看看如果你更换会发生什么

certSelector.setSubject(x509certificate.getSubjectX500Principal());

certSelector.setCertificate(x509certificate);

关于java - x509certificate certpath 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com