gpt4 book ai didi

java - 实例化类的正确方法,以便我能够验证证书中的路径链

转载 作者:行者123 更新时间:2023-12-02 03:34:41 25 4
gpt4 key购买 nike

我有 3d 方库(Kalkan 提供商的 sdk)。我相信这个库的一部分检查证书路径。问题是我应该传递两个参数来正确实例化类,以便我可以使用我需要的方法之一。

代码如下:

final PKIXCertPathReviewer checker = new PKIXCertPathReviewer(cp, params);
boolean test = checker.isValidCertPath();

这是构造函数的一部分:

public PKIXCertPathReviewer(CertPath certPath, PKIXParameters params)

关于任务。我已通过客户证书签署了文件。我想验证客户端证书中的路径。所以我有客户端的 X509Certificate 证书实例、一个中间证书和一个根证书。最后两个是磁盘上 cer 格式的文件。据我了解,我应该将所有这三个证书结合在一起。如果有人向我展示如何创建这些cpparams,那将会非常有帮助。提前致谢。

最佳答案

所以我已经成功解决了我的问题。如果有人遇到与我相同的问题,请使用以下代码。

CertificateFactory cf = CertificateFactory.getInstance("X.509", KalkanProvider.PROVIDER_NAME);
java.security.cert.Certificate rootCertificate = /*root certificate*/;
java.security.cert.Certificate clientCertificate = /*client certificate*/;
List mylist = new ArrayList();
mylist.add(clientCertificate);
CertPath cp = cf.generateCertPath(mylist);
TrustAnchor rootAnchor = new TrustAnchor((X509Certificate) rootCertificate, null);
Set<TrustAnchor> trustStore = new HashSet<>();
trustStore.add(rootAnchor);
if (null != /*chain contains middle cert besides root*/) {
java.security.cert.Certificate middleCertificate = /*middle certificate*/;
TrustAnchor middleAnchor = new TrustAnchor((X509Certificate) middleCertificate, null);
trustStore.add(middleAnchor);
}
PKIXParameters params = new PKIXParameters(trustStore);
params.setRevocationEnabled(false);//true - if you need ocsp validation
final PKIXCertPathReviewer checker = new PKIXCertPathReviewer(cp, params);
errors = checker.getErrors();
boolean result = checker.isValidCertPath();

关于java - 实例化类的正确方法,以便我能够验证证书中的路径链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583814/

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