0

Java 安全性相当新,我正在尝试编写自定义 X509TrustManager 来验证当我连接到服务器时,它要么具有受信任的证书链(来自我配置的信任库),要么,如果没有,那么它提供的证书有自定义信任管理器拥有的 SHA256 指纹之一(我也提供了)。我认为编码这将是一个简单的灌篮(如JSSE ref所暗示的)) - 委托给默认信任管理器,捕获指示“证书链不受信任”之类的特定异常,检查指纹是否匹配,如果匹配,则忽略异常,否则传播它。显然,没有很好的“CertificateUntrustedException”。我得到的是以下异常。是否没有供应商独立的干净方法来解决此问题(或检查受信任证书或外部提供的指纹的更高级别问题)。

谢谢!

sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387) 在 sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) 在 sun.security.validator.Validator.validate(Validator.java:260 )在 sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) 在 sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) 在 sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java: 124) 在 com.company.TestConnection$LocalExtendedX509TrustManager.checkServerTrusted(TestConnection.java:116)

4

0 回答 0