0

当调用checkServerTrusted实现类的方法时X509TrustManager,我需要获取与证书链相关的所有验证错误,包括

  1. 证书路径验证问题。例如 CA 不受信任
  2. 证书字段验证问题。例如过期的证书,无效的扩展密钥使用

这背后的动机是,我可以在用户将其添加为“例外”之前向用户展示证书验证问题,就像 Firefox 现在所做的那样。但是,现在,一旦发现路径验证问题,CertPathValidatorException就会抛出 a,但它没有提供有关证书中字段有效性的信息。我该如何实施?

经过一番阅读,我发现CertPathAPI 提供了这样的功能,并发现 PKIX 实现是对此的包装,但只是不返回CertPathValidatorResult. 我想在返回所有验证问题的同时最大限度地利用现有的 JAVA 功能(无需将我自己的自定义包装器写入 API)。

4

1 回答 1

0

如果出现证书错误,您甚至无法访问 X509TrustManager.checkServerTrusted()。您需要在较早的时候挂钩证书处理,我不相信 JSSE 中有一个。

于 2013-07-15T23:31:53.380 回答