4

我需要对给定的 X509 证书执行链验证和吊销检查。因此,我浏览了本指南,还探索了 CertPathValidatorCertPathBuilder API 的 JavaDoc 以及github存储库中的示例。

毕竟,我有点困惑,因为我看不出CertPathValidatorCertPathBuilder类之间的明显区别。Java 文档说:

证书路径验证器

用于验证证书路径(也称为证书链)的类

证书路径生成器

用于构建证书路径(也称为证书链)的类。

这两个类都支持撤销检查和几乎相同的方法。所以我的问题是在哪些情况下应该使用每个类,什么是验证证书与建筑?

4

1 回答 1

1

CertPathValidator当您拥有证书的数组/列表/等并且想要检查它们是否是证书路径时使用。

CertPathBuilder当您没有可能是证书路径的数组/列表/等时使用,但除了要验证的证书之外,您还具有:

  • 一组零个或多个中间证书。其中一些可能不是路径的一部分。
  • 一组一个或多个受信任的证书。
于 2020-07-22T16:15:47.503 回答