最近在测试项目的时候,出现了这样一个bug:在某些win7和 win8主机上,我们的客户端使用paypal进行付款时,出现SSL握手失败的问题。
项目使用QT5.2.1开发,由于QT移植了开源的webkit,我们在项目中内置了一个浏览器,用来完成商品浏览和付款。
问题来了,当然需要进行“捉虫”了。
自从上次OpenSSL爆出“心脏出血”(见wiki),我们也使用了最新的openssl代码。
首先,需要定位问题出现的位置具体在哪里。
好在QT是开源的,方便我们定位问题,开启Debug模式,修改qtbase\src\network\network.pro文件:
修改
#DEFINES += QTCPSOCKETENGINE_DEBUG QTCPSOCKET_DEBUG QTCPSERV