当前位置: 首页 > 知识库问答 >
问题:

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

慕容品
2023-03-14

我就是不能理解这个错误。什么是客户的信任库?[我正确插入了证书]但我不确定它是否有效,因为当我在电脑上安装它时,我发现类似此证书的内容已过期。

堆栈跟踪是:

作者:爪哇。伊奥。IOException:IOException调用https://192.168.238.46:8400/yaghut/soap/soap_tosan:https URL主机名与客户端信任库中服务器证书上的公用名(CN)不匹配。确保服务器证书正确,或者要禁用此检查(不建议用于生产),请将CXF客户端TLS配置属性“disableCNCheck”设置为true。在阳光下。反映国家建筑配件公司。sun的newInstance0(本机html" target="_blank">方法)。反映国家建筑配件公司。sun上的newInstance(NativeConstructorAccessorImpl.java:57)。反映授权构造或AccessorImpl。java上的newInstance(DelegatingConstructorAccessorImpl.java:45)。朗,反思一下。建造师。org上的newInstance(Constructor.java:526)。阿帕奇。cxf。运输http。HttpConductor$wrappedoutStream。mapException(httpconductor.java:1337)位于org。阿帕奇。cxf。运输http。HttpConductor$wrappedoutStream。在org上关闭(httpconductor.java:1321)。阿帕奇。cxf。运输抽象管道。在org上关闭(AbstractConductor.java:56)。阿帕奇。cxf。运输http。http管道。在org上关闭(httpconductor.java:623)。阿帕奇。cxf。拦截器。MessageSenderInterceptor$MessageSenderEndingInterceptor。handleMessage(MessageSenderInterceptor.java:62)位于org。阿帕奇。cxf。阶段相位接收器链。doIntercept(PhaseInterceptorChain.java:271)位于org。阿帕奇。cxf。终点。ClientImpl。doInvoke(ClientImpl.java:531)位于org。阿帕奇。cxf。终点。ClientImpl。在org上调用(ClientImpl.java:464)。阿帕奇。cxf。终点。ClientImpl。在org上调用(ClientImpl.java:367)。阿帕奇。cxf。终点。ClientImpl。在org上调用(ClientImpl.java:320)。阿帕奇。cxf。前端。客户代理。org上的invokeSync(ClientProxy.java:89)。阿帕奇。cxf。jaxws。JaxWsClientProxy。调用(JaxWsClientProxy.java:134)。。。还有3个原因:java。伊奥。IOException:https URL主机名与客户端信任库中服务器证书上的公用名(CN)不匹配。确保服务器证书正确,或者要禁用此检查(不建议用于生产),请将CXF客户端TLS配置属性“disableCNCheck”设置为true。在org。阿帕奇。cxf。运输http。HttpConductor$wrappedoutStream。onFirstWrite(httpconductor.java:1235)位于org。阿帕奇。cxf。运输http。UrlConnectionHttpConductor$UrlConnectionWrappedOutStream。onFirstWrite(urlconnectionhttpconductor.java:182)位于org。阿帕奇。cxf。伊奥。AbstractWrappedOutStream。在org上编写(AbstractWrappedOutStream.java:47)。阿帕奇。cxf。伊奥。AbstractThresholdOutputStream。在org上编写(AbstractThresholdOutputStream.java:69)。阿帕奇。cxf。运输http。HttpConductor$wrappedoutStream。关闭(httpconductor.java:1294)。。。还有13个

共有1个答案

宫子晋
2023-03-14

嗯,我用了这个代码,但它应该只用于测试。主机认证也过期了。

 SoapServices service = soapTosan.getSoapPort();
    HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(service).getConduit();
    TLSClientParameters tlsCP = new TLSClientParameters();
    tlsCP.setDisableCNCheck(true);
    httpConduit.setTlsClientParameters(tlsCP);
 类似资料:
  • 问题内容: 我尝试使用自签名证书连接到服务器。我使用此代码接受所有证书。 但是尽管如此,我收到以下错误: 我确定我的证书代码已执行,那么可能是什么问题? 问题答案: 您可以使用

  • 问题内容: 我正在尝试使用带有自签名证书的Node.js 0.8.8创建TLS服务器/客户端设置。 基本的服务器代码如下所示 现在,当我尝试连接到该服务器时,我使用以下代码: 如果我删除线 从客户端代码,Node.js抛出一个错误告诉我。据我了解,这是由于它是一个自签名证书,并且没有其他方信任此证书。 如果我删除 同样,错误也消失了-但等于错误,实际上意味着我的连接未加密。无论如何,使用我可以访问

  • 我试图从java调用Heroku的开发人员api,但是我得到了以下异常: 我的代码如下所示: https://stackoverflow.com/a/7266768 https://stackoverflow.com/a/3904473 https://stackoverflow.com/a/25356821 建议我应该重写证书主机名检查,这肯定违背了这一点(当然生产还没有准备好)?

  • 问题内容: 我有代码: 当我在带有Node 0.9.4的桌面上运行它时,我在控制台中得到了这个: 当我在带有节点0.6.12的Netbook上运行它时,它们都可以正常运行而没有错误(302响应-我认为是正确的)。 有问题的Node.js主机名/ IP与证书的altnames不匹配 ,Rojuinex写道:“是的,浏览器问题…对不起”。“浏览器问题”是什么意思? UPD。在节点v0.8上回滚后,此问

  • 问题内容: 我一直在使用以下代码连接到Google的服务之一。这段代码在我的本地机器上运行良好: 我将这段代码放到了已阻止Google.com的生产环境中。根据要求,他们允许我访问IP:74.125.236.52,这是Google的IP之一,从而允许与Google服务器通信。我编辑了主机文件,也添加了该条目。 仍然无法访问URL,我想知道为什么。所以我将上面的代码替换为: 现在我得到这样的错误:

  • 我有一个httpsendpoint,我需要从wso2 API管理器访问它。(使用1.10)。我已经将证书文件添加到“client-truststore.jks”文件中。但现在它给出了如下错误。 我已经更新了Axis2.xml文件,如下所示。 如何使用WSO2 APIManager解决此问题以访问此https后端服务