【问题标题】:PKIXNameConstraintValidatorException: DNS is not from a permitted subtreePKIXNameConstraintValidatorException:DNS 不是来自允许的子树
【发布时间】:2021-02-17 19:18:07
【问题描述】:

我正在从 .crt 文件加载其中一个 ssl 证书以访问一个资源。但是当我调用该 Intranet 资源时。我得到以下异常。有人可以建议如何克服这个问题吗?我也可以禁用 DNS 检查

...
Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Subtree check for certificate subject alternative name failed.
    at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:362)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:270)
    at sun.security.validator.Validator.validate(Validator.java:260)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
    ... 81 more
Caused by: java.security.cert.CertPathValidatorException: Subtree check for certificate subject alternative name failed.
    at org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCertBC(Unknown Source)
    at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(Unknown Source)
    at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
    at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:357)
    ... 87 more
Caused by: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException: DNS is not from a permitted subtree.
    at org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDNS(Unknown Source)
    at org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermitted(Unknown Source)

【问题讨论】:

  • 颁发服务器使用的证书的 CA 已损坏且违反标准。对于需要特殊证书才能信任的 Intranet 资源,这可能是内部 CA。最好修复 CA,或者让服务器使用未损坏的不同 CA。您不能有选择地禁用此检查;如果您的网络是完全且永久安全的(它永远不会是),否则您的所有数据都不重要且毫无价值。

标签: java ssl https bouncycastle


【解决方案1】:

我找到了这个问题的答案,如果它可以为其他人节省时间,请分享。 观察到的是,在某些情况下,仅 CA 根证书是不够的。但是当其他中间证书也被加载时,这个问题就不会发生。所以基本上需要全链证书来克服这个问题。作为充气城堡图书馆升级和包括全链证书的组合对我有用。

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2012-07-04
    • 2018-09-19
    相关资源
    最近更新 更多