Java 如何使Apache Camel Restlet生产者忽略SSL主机名验证
我正在使用ApacheCamel的Restlet组件,我有一个连接到https URL的路由,该URL使用自签名证书公开 使用-Djavax.net.ssl.trustStore,我解决了与不受信任证书相关的问题,但此时我仍停留在主机名验证上 这里是stacktrace的摘录,您可以看到ApacheCamel Restlet组件使用Restlet库,它最终使用ApacheHTTP客户端Java 如何使Apache Camel Restlet生产者忽略SSL主机名验证,java,ssl,apache-camel,apache-httpclient-4.x,restlet,Java,Ssl,Apache Camel,Apache Httpclient 4.x,Restlet,我正在使用ApacheCamel的Restlet组件,我有一个连接到https URL的路由,该URL使用自签名证书公开 使用-Djavax.net.ssl.trustStore,我解决了与不受信任证书相关的问题,但此时我仍停留在主机名验证上 这里是stacktrace的摘录,您可以看到ApacheCamel Restlet组件使用Restlet库,它最终使用ApacheHTTP客户端 问题是:有没有一种方法可以使用系统属性或某种静态方法在Restlet或Apache Http客户端上禁用主机名
问题是:有没有一种方法可以使用系统属性或某种静态方法在Restlet或Apache Http客户端上禁用主机名验证?能否提供与生产者配置和ssl相关的代码片段?
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)