Seite 1 von 1

QWebView + https + eigenes Zertifikat

Verfasst: 24. September 2013 23:59
von soof
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.

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);

}
Anwendung

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"));
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.