Sen*_*nči 5 c++ connection qt qt4 qtnetwork
我通过发送请求QNetworkAccessManager::createRequest(Operation, QNetworkRequest, outgoingData).我需要验证SSL证书的指纹是否符合我的预期.不幸的是,结果QNetworkReply返回peerCertificate带有空签名的a.
文档说明如下:
由于在握手阶段设置了对等证书,因此可以安全地从连接到sslErrors()信号或encrypted()信号的插槽访问对等证书.
如果返回空证书,则可能意味着SSL握手失败,或者它可能意味着您连接的主机没有证书,或者它可能意味着没有连接.
所以错误可能是连接已经关闭.我不能使用QNetworkAccessManager::sslErrors()Signal,因为使用SSL代理时不会发出此信号(这是我想要阻止的).
我如何获得服务器的SSL证书?是否有更多可以访问的信号以及证书仍然可用的位置?是否有其他方式可以获得证书?
更新:
现在我可以通过对QNetworkAccessManager::finished(QNetworkReply*)Signal 做出反应来获得正确的证书.但遗憾的是,发送AJAX-Request时不会发出此信号.对我来说,必须检查这些请求的指纹.有任何想法吗?