SSL handshake failed
Qt 使用 https:// 发送请求,有一个.p12的证书安装程序,已经安装完成,libeay32.dll、ssleay32.dll也拷到了程序路径,但是发送数据后始终显示SSL handshake failed。
开始使用:
QSslConfiguration config;
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::SslV3);
request.setSslConfiguration(config);
一直返回,想着是不是不是这么弄,可能应该是去调用那个证书文件,就改为用QSslCertificate::fromPath调用,但好像只有pem和Der类型,就用openssl 装成了pem,然后调用,结果certs.size()不为0了,可还是返回SSL handshake failed。
修改后代码:
QSslConfiguration config;
QList<QSslCertificate> certs = QSslCertificate::fromPath("D:\\XXX.pem");
qDebug() << "certs==" << certs.size();
m_certs = QString::number(certs.size());
config.setCaCertificates(certs);
request.setSslConfiguration(config);
ui->plainTextEdit->setPlaceholderText(m_certs);
QString str = ui->lineEdit->text();
request.setUrl(QUrl(str));
manager.get(request);
没怎么搞过ssl的,这个证书不知道怎么去调用,浏览器上发请求是能返回数据的,但程序就是握手失败,哪位大神有解决办法的指导下。