https URL 主机名与客户端信任库中服务器证书上的公用名 (CN) 不匹配



我只是无法理解这个错误。 什么是客户端的信任库? [我正确插入了证书] 但我不确定它是否有效,因为当我在我的 PC 上安装它时,我播种了类似此认证的东西已过期。

堆栈跟踪为:

ausing by: java.io.IOException: IOException 调用 https://192.168.238.46:8400/yaghut/soap/soap_tosan: https URL 主机名与客户端信任库中服务器证书上的公用名 (CN( 不匹配。 确保服务器证书正确,或者要禁用此检查(不建议用于生产(,请将 CXF 客户端 TLS 配置属性"disableCNCheck"设置为 true。 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method( at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57( at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45( at java.lang.reflect.Constructor.newInstance(Constructor.java:526( at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1337( at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1321( at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56( at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623( at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62( at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271( at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531( at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464( at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367( at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320( at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89( at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134( ...3 更多 由以下原因引起:java.io.IOException:https URL 主机名与客户端信任库中服务器证书上的公用名 (CN( 不匹配。 确保服务器证书正确,或者要禁用此检查(不建议用于生产(,请将 CXF 客户端 TLS 配置属性"disableCNCheck"设置为 true。 at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1235( at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:182( at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47( at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69( at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1294( ...还有 13 个

好吧,我使用了这段代码,但它应该仅用于测试。 并且主机认证也已过期。

SoapServices service = soapTosan.getSoapPort();
HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(service).getConduit();
TLSClientParameters tlsCP = new TLSClientParameters();
tlsCP.setDisableCNCheck(true);
httpConduit.setTlsClientParameters(tlsCP);

相关内容

  • 没有找到相关文章