系统调用外部的web service,走https方式,今天测试人员自己替换了https证书之后,说调用不通了,我协助定位了一下,在此记录一下定位过程,作为记录
查看cxf日志,发现以下错误信息:
javax.xml.ws.soap.SOAPFaultException: Received fatal alert: bad_certificate
Caused by: org.apache.cxf.interceptor.Fault: Received fatal alert: bad_certificate
Caused by: com.ctc.wstx.exc.WstxIOException: Received fatal alert: bad_certificate
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1806) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:986) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1555) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java:103) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.Handshaker.sendChangeCipherSpec(Handshaker.java:689) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.ClientHandshaker.sendChangeCipherAndFinish(ClientHandshaker.java:985) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:904) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:238) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1197) ~[na:1.6]
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1181) ~[na:1.6]
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434) ~[na:1.6]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166) ~[na:1.6]
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014) ~[na:1.6.0_29]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230) ~[na:1.6]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1840) ~[cxf-2.0.13.jar:2.0.13]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1798) ~[cxf-2.0.13.jar:2.0.13]
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42) ~[cxf-2.0.13.jar:2.0.13]
at org.apache.cxf.io.CacheAndWriteOutputStream.write(CacheAndWriteOutputStream.java:68) ~[cxf-2.0.13.jar:2.0.13]
at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96) ~[wstx-asl-3.2.4.jar:3.2.4]
at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214) ~[wstx-asl-3.2.4.jar:3.2.4]
at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311) ~[wstx-asl-3.2.4.jar:3.2.4]
... 62 common frames omitted
感觉是证书的问题,于是从服务器上取下证书,用keytool -list -v 命令看了一下,配置的CN是正确的
但是比对了一下这个证书和原始证书的大小,发现不符合,显然不是同一份证书
因为对方的web service是双向认证https的,所以原先的证书信息,已经导入到对方的truststore里了。现在临时替换了一个证书,没有重新导入对方的truststore中,因此对方不接受新的证书,造成调用无法成功
分享到:
相关推荐
### MEM_BAD_POINTER 错误解决办法 在软件开发与维护过程中,我们时常会遇到各种运行时错误,其中“MEM_BAD_POINTER”就是一个常见的问题。本文将详细介绍该错误的原因、可能的表现形式以及具体的解决方法。 #### ...
其次,即使 `s` 仍指向最初的字符串,该字符串已经在上一步被替换,所以释放操作是无效且可能导致 EXC_BAD_ACCESS 的。 3. **EXC_BAD_ACCESS**:`[pool drain];` 在执行这行代码时,自动释放池(autorelease pool)...
### 查找EXC_BAD_ACCESS错误代码处:利用Instrument工具定位问题 #### 一、引言 在软件开发过程中,特别是iOS应用开发中,经常会遇到难以捉摸的内存管理问题,其中最常见的之一就是`EXC_BAD_ACCESS`错误。这种类型...
- 完成替换后,重新启动Rational Rose,检查是否还会出现“MEM_BAD_POINTER”错误。 - 如果问题仍然存在,可以考虑使用专门修复此类问题的工具包,如文中提到的`MEM_BAD_POINTER_EMEND.rar`。这个工具包通常包含...
标题中的“Rose关闭错误MEM_BAD_POINTER_EMEND”指的是在使用Rose(可能是一个软件或系统组件)时遇到的一个特定错误,该错误与内存管理有关。"MEM_BAD_POINTER_EMEND" 错误代码通常表示程序尝试访问的内存指针是...
标题中的"fix_bad_points.rar_BAD_envi_envi fix bad points_修复坏点扩展补丁_分块"指的是一款专门针对ENVI(Environment for Visualizing Images)格式数据的坏点修复工具。ENVI是一款广泛使用的遥感图像处理软件...
### DNS_PROBE_FINISHED_BAD_CONFIG 问题解析及解决方案 #### 故障现象描述 用户反馈在重新启动家庭路由器之后,手机能够正常连接Wi-Fi并访问互联网;然而,当使用电脑连接同一Wi-Fi时,虽然连接成功,但在尝试访问...
在iOS开发中,EXC_BAD_ACCESS错误是一种常见的运行时错误,通常是因为程序尝试访问已被释放的内存地址导致的。当程序尝试访问一个已经释放的对象时,系统就会抛出EXC_BAD_ACCESS错误,这在C语言中通常被理解为使用了...
标题中的“僵尸信号SIGABRT或EXC_BAD_ACCESS”是iOS开发中常见的错误类型,主要与内存管理和对象生命周期有关。这两个错误通常出现在Objective-C或Swift编程中,涉及到内存泄漏、过早释放对象或者试图访问已经释放的...
"del_bad_pixels_sub.v"可能包含了坏点检测和替换的逻辑,而"corrdinate_rom.v"可能是一个存储器模块,用于存储坏点的坐标或者相关的处理参数。 - **坏点检测**:这部分代码可能会定义一个循环结构,遍历图像的每...
在Windows XP Service Pack 2 (SP2) 操作系统中,有时用户在尝试安装IBM Rational Rose集成建模工具时可能会遇到“MEM_BAD_POINTER”错误。这个错误通常与内存分配问题有关,导致安装过程无法继续。以下是一些详细的...
1. **Bad_USB**: 这是BadUSB的缩写,指的是利用USB设备进行恶意活动的技术。 2. **badusb**: 这可能是工具的名称,或者与BadUSB相关的项目代号。 3. **badusb下载**: 表明该压缩包可能包含BadUSB相关的软件或工具的...
本话题聚焦于“bad_function_call_ctor.rar_BAD”这个压缩包,其中包含了两个文件:`i915_drm.c`和`bad_function_call_ctor.pass.c`,它们涉及到Linux内核中的Intel图形驱动(i915)以及可能存在的错误函数调用构造...
磁盘作为数据存储的主要载体,其故障的发生不仅可能导致数据丢失,还可能引发系统崩溃,从而对业务连续性和企业声誉造成严重影响。HP-UX Logical Volume Manager (LVM)作为一种高级的存储管理技术,提供了丰富的功能...
总之,"RationalRose2003_MEM_BAD_POINTER.zip" 提供了一个针对Rational Rose 2003在Windows XP上运行时出现的“MEM_BAD_POINTER”错误的解决方案。通过应用这个补丁,用户能够避免程序异常终止,从而更顺畅地使用这...
"Remove Bad Point.rar_BAD_Remove bad point"这个项目显然涉及到一个特定的数据处理技术,即去除噪声点或异常值,以优化数据的平滑度和提高分析的准确性。这个过程被称为“坏点去除”或“异常值检测”。 在数据...
bad_hair_day
bad_rand_rng.py
"nand_bbt.rar_BAD_bad block"这个标题和描述暗示了我们正在讨论NAND驱动程序对坏块处理的支持,特别是坏块表(Bad Block Table, BBT)的功能和重要性。 坏块的存在是NAND闪存的固有特性,因为每个单元在经过一定的...
在这个项目中,“_BAD_bad apple_turtle svg_turt”可能是指它是一个以"Bad Apple"为主题的字符画实现,其中"turtle"表示使用了Turtle库,而"svg"则表明最终的图形被导出为了SVG格式。SVG是一种矢量图形格式,它能够...