QWebView + https + eigenes Zertifikat
Verfasst: 24. September 2013 23:59
Hallo,
ich habe nicht viel Erfahrung mit Qt würde aber gerne über das QWebView eine bestimmte https Website aufrufen welche ein eigenes Zertifikat benötigt.
Dazu habe ich (mit hilfe von google..) eine QNetworkAccessManager erstellt welche die Methode createRequest überschreibt.
Anwendung
Sobald ich die Website aufrufe erscheint leider nur eine weiße leere Seite. Vielleicht hat jemand eine Idee was ich falsch mache oder was möglicherweise fehlt.
Ich bedanke mich schon mal im Voraus für jede Hilfe.
ich habe nicht viel Erfahrung mit Qt würde aber gerne über das QWebView eine bestimmte https Website aufrufen welche ein eigenes Zertifikat benötigt.
Dazu habe ich (mit hilfe von google..) eine QNetworkAccessManager erstellt welche die Methode createRequest überschreibt.
Code: Alles auswählen
QNetworkReply* SslNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData)
{
qDebug() << "REQUEST";
QSslConfiguration sslcfg = req.sslConfiguration();
QList<QSslCertificate> ca_new = QSslCertificate::fromPath("C:\\Users\\user\\Documents\\test_1.cer", QSsl::Der, QRegExp::Wildcard);
sslcfg.setLocalCertificateChain(ca_new);
QNetworkRequest request = req;
request.setSslConfiguration(sslcfg);
qDebug() << sslcfg.localCertificate().serialNumber();
return QNetworkAccessManager::createRequest(op, request, outgoingData);
}
Code: Alles auswählen
QNetworkAccessManager *oldManager = ui->webView->page()->networkAccessManager();
SslNetworkAccessManager *newManager = new SslNetworkAccessManager(oldManager, this);
ui->webView->page()->setNetworkAccessManager(newManager);
ui->webView->load(QUrl("https://website_mit_zertifkat"));
Ich bedanke mich schon mal im Voraus für jede Hilfe.