我在尝试连接到使用SSL的Web服务。我正在用C++与QNX IDE Momentics一起使用Blackberry 10。我想要做的连接如下:BB10中的SSL握手失败QNX Momentics IDE
URL: “https://开头movilapi ......”
代码:
networkAccessManager = new QNetworkAccessManager(this);
bool res = connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)));
Q_ASSERT(res);
Q_UNUSED(res);
QNetworkRequest request = QNetworkRequest(QUrl(url));
request.setRawHeader("User-Agent", "bb-phone/20120910");
request.setRawHeader("Content-Type", "application/json");
request.setRawHeader("Content-Length", postDataSize);
QSslConfiguration sslConfig = request.sslConfiguration();
sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
sslConfig.setProtocol(QSsl::TlsV1);
request.setSslConfiguration(sslConfig);
networkAccessManager->post(request, outData);
我总是得到同样的错误,无论我试图达到哪种服务。响应为: SSL握手失败
Wireshark的信息:
Protocol Length Info
SSLv2 157 Client Hello
TLSv1 1202 Server Hello, Certificate, Server Hello Done
TLSv1 449 Client Key Exchange
TLSv1 60 Change Cipher Spec
TLSv1 91 Encrypted Handshake Message
TLSv1 97 Change Cipher Spec, Encrypted Handshake Message
TLSv1 605 Application Data
TLSv1 280 Application Data
TLSv1 277 Application Data
TLSv1 121 Application Data
TLSv1 92 Application Data
TLSv1 297 Application Data, Application Data, Application Data, Application Data
TLSv1 77 Encrypted Alert
加密警报内容类型为21
的服务器密码套件是在客户端支持的密码列表中。
我用下面的LIB进行连接:QtNetwork/qnetworkreply.h
我希望这个新的信息提高问题的质量。
请帮忙,我一直在寻找几个小时没有成功。
过期的证书的任何机会呢? –
证书未过期。谢谢@RodrigoHahn – mariomunera