• 3507阅读
  • 0回复

紧急求助https连接的问题 [复制链接]

上一主题 下一主题
离线nkdominic
 
只看楼主 倒序阅读 楼主  发表于: 2013-05-09

刚开始学Qt,要从客户端用https连接服务器端,下面是我的代码:
QString req = "https://192.168.3.8/api";
QUrl urlTemp(req);
urlTemp.setPort(443);
QNetworkRequest request(urlTemp);
QSslConfiguration sslConfiguration = request.sslConfiguration();
sslConfiguration.setProtocol(QSsl::AnyProtocol);
sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyPeer); //必须要验证数字证书,所以不能用QSslSocket::VerifyNone或者QSslSocket::QueryPeer模式
QList<QSslCertificate> certs = sslConfiguration.caCertificates();
certs.append(QSslCertificate::fromPath(QLatin1String("d:\\ca.pem"), QSsl::Pem));
sslConfiguration.setCaCertificates(certs);
request.setSslConfiguration(sslConfiguration);
QNetworkAccessManager manager;
connect(&manager,SIGNAL(finished(QNetworkReply*)),
                this,SLOT(slotFinished(QNetworkReply*)));
其中d:\\ca.pem是我保存的服务器端的数字证书。
但是在slotFinished()里面总是收到SslHandshakeFailedError,高手帮我看看,问题出在什么地方。
快速回复
限100 字节
 
上一个 下一个