【问题标题】:Host name does not match the certificate subject provided by the peer after library change主机名与库更改后对等方提供的证书主题不匹配
【发布时间】:2020-02-18 15:29:33
【问题描述】:

在将我们的项目依赖项从 apache HttpClient 4.5.10 更新到 4.5.11 后,我们在本地环境中不断收到此错误。

我们使用的是hystrix,所以连接本身使用的是HttpAsyncClient (4.1.2)。

更新后生产环境工作正常,所以我猜我们的证书存在问题,在使用 4.5.10 进行 ssl 上下文配置时不知何故不会弹出。

有人知道证书中可能缺少什么吗?


   Caused by: javax.net.ssl.SSLPeerUnverifiedException: Host name 'domain' does not match the certificate subject provided by the peer (CN=domain, O=Something, ST=Some-State, C=NL)
        at org.apache.http.nio.conn.ssl.SSLIOSessionStrategy.verifySession(SSLIOSessionStrategy.java:209)
        at org.apache.http.nio.conn.ssl.SSLIOSessionStrategy$1.verify(SSLIOSessionStrategy.java:188)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:354)
        at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:503)
        at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)

(这个我已经查过了,好像和问题不符)

Host name does not match the certificate subject provided by the peer, but it's a perfect match

【问题讨论】:

    标签: java apache httpclient hystrix


    【解决方案1】:

    实际问题不在于域本身,而在于它是一个私有域,DefaultHostnameVerifier 假定它是一个 ICANN 域。修改主机名验证器可以修复它。

    由于这次提交,从 4.5.10 到 4.5.11 的更改触发了它:https://github.com/apache/httpcomponents-client/commit/858946348f5d34f9a8b4caf3c5f054721e647983#diff-842a4260950ada415839175b42257751

    它实际上纠正了一个验证问题,但错误并不完全清楚,所以我希望这对以后的人有所帮助。

    【讨论】:

    • 为此干杯。您是如何修改 DefaultHostNameVerifier 的?
    【解决方案2】:

    上述问题已在https://issues.apache.org/jira/browse/HTTPCLIENT-2047中修复

    将版本更改为 4.5.12

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-19
      • 2016-12-27
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      相关资源
      最近更新 更多