SoapUI SSL连接ADFS异常

使用SOAP UI连接ADFS,以WS-Trust的方式获取Request Security Token,ADFS必须使用SSL(HTTPS)方式连接,结果访问失败,SOAP UI报no response, 异常为connection reset。

ADFS的EventViewer有以下记录:
A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is 20. The Windows SChannel error state is 960.

然而用其他Rest Client如PostMan 就没有类似问题。

Google了一下也没什么结果,都说是SSL版本/算法使用的问题,然而我用的是JDK8,TLS 1.1和1.2默认都enable了.同时Enable了-Djavax.net.debug=SSL发现在SSL/TSL握手期间出现问题,但是也没有具体的结论。期间恶补了下TLS握手流程:
阮一峰的SSL/TLS协议运行机制

基本确定问题应该出在SOAP UI这里。

偶然在一个讨论SOAP UI的SSL相关的帖子里面发现一个回复:
https://community.smartbear.com/t5/SoapUI-Open-Source/How-to-enable-TLS-1-2-in-SoapUI/m-p/125822#M21605

然后就去SOAP UI的Github去查看了一下有没有解决SSL相关的问题,没想到真的找到了:
https://github.com/SmartBear/soapui/commit/5f1fa78417cba12e36584824533e5db62ee02a19

SOAP 5.2.1已经发布了一年多了,最近一直没有发布新版本,上面的这个修复的叫做SNI的支持,只要在SSLSocketImpl里面设置一下HOST就可以了。

SNI主要是为了解决单个IP上有多个虚拟的HTTPS HOST问题,这个可以去扩展阅读
https://en.wikipedia.org/wiki/Server_Name_Indication

猜你喜欢

转载自wwwcomy.iteye.com/blog/2333262