有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使Apache Camel Restlet生产者忽略SSL主机名验证

我正在使用ApacheCamel的Restlet组件,我有一个连接到https URL的路由,该URL使用自签名证书公开

使用-Djavax.net.ssl.trustStore我解决了与不受信任的证书相关的问题,但此时我仍停留在主机名验证上

这里是stacktrace的一个摘录,您可以看到ApacheCamel Restlet组件使用Restlet库,该库最终使用ApacheHTTP客户端

javax.net.ssl.SSLException: hostname in certificate didn't match: <192.168.1.1> != <localhost>
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:231)
    at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:152)
    ...
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
    at org.restlet.ext.httpclient.internal.HttpMethodCall.sendRequest(HttpMethodCall.java:347)
    ...
    at org.apache.camel.component.restlet.RestletProducer.process(RestletProducer.java:87)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:120)

问题是:有没有一种方法可以使用系统属性或某种静态方法在Restlet或apachehttp客户机上禁用主机名验证


共 (0) 个答案