QNetworkRequest und die Standard-SSL-Konfiguration
Ich bin mit dem folgenden Stück code, um HTTPS-Anforderungen mit server.
QNetworkRequest request;
//request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
request.setUrl(QUrl("https://www.someurl.com/"));
QNetworkReply *reply = manager->get(request);
Alles scheint zu funktionieren mit meinem test-server, aber ich würde gerne wissen, ob es wird empfohlen, die defaultConfiguration (kommentieren Sie second-line) oder funktioniert das Netzwerk-API automatisch überprüfen Sie alle defaultConfigurations bei der Nutzung von SSL? Und wenn es prüft, kommt es auch tun, wenn ich, fügen Sie eine benutzerdefinierte Konfiguration? Ich meine, ist es erforderlich, fügen Sie die benutzerdefinierte Konfiguration, um die Liste der Standard-Konfiguration? Zum Beispiel:
QSslConfiguration SslConfiguration(QSslConfiguration::defaultConfiguration());
QList<QSslCertificate> certificates = SslConfiguration.caCertificates();
certificates.append(QSslCertificate::fromData(certificate.toAscii(), QSsl::Pem));
SslConfiguration.setCaCertificates(certificates);
request.setSslConfiguration(SslConfiguration);
Edit: ich möchte hinzufügen, dass ich arbeite auf der Symbian-Plattform.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation
void QNetworkRequest::setSslConfiguration ( const QSslConfiguration & config )
:Können Sie überprüfen, diese Aussage mit dem folgenden code:
Jedoch, Sie scheinen zu verwechseln root-CA-Zertifikate-Shop mit SSL-Konfiguration. Die erstere ist nur ein Teil des letzteren (siehe
QList<QSslCertificate> QSslConfiguration::caCertificates () const
). Wenn Sie sicherstellen möchten, dass Ihre root-CA-Zertifikate werden von QNAM Sie können sich die Tatsache zunutze, dass QNAM verwendet QSslSocket, um SSL-verbindungen und verwenden Sie eine der folgenden statischen Methodenum das root-CA-Zertifikate verwendet werden, die von alle SSL-verbindungen mit QSslSocket. Denken Sie daran, dies ist globalen Einstellung und betrifft alle SSL-verbindungen mit QSslSocket nicht nur diese mit QNAM. Es gibt keine API, um diese nur für bestimmte QNAM oder für alle QNAMs.