diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-08-26 13:46:35 +0200 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-09-05 23:33:12 +0200 |
commit | 8d045ce2a4cc65660bdf6ee8b555899c5c6119de (patch) | |
tree | f25ecfc6b167993215f6808d1a6ada105c069524 /src/webenginewidgets/api/qwebenginecertificateerror.cpp | |
parent | bf3753f02402b44455038c4fa2a897d41aadf850 (diff) |
Api to get certificate's chain on error
Expose certificate's chain on validation error starting with
the immediate certificate and ending with the CA's certificate.
[ChangeLog][QtWebEngineWidgets][QWebEngineCertificateError] New method
to get the peer's chain of digital certificates.
Fixes: QTBUG-51176
Change-Id: I799dfe9e44f9f2517f4691d175beee256114af79
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginecertificateerror.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginecertificateerror.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebenginecertificateerror.cpp b/src/webenginewidgets/api/qwebenginecertificateerror.cpp index e8c7a4245..a61d98f94 100644 --- a/src/webenginewidgets/api/qwebenginecertificateerror.cpp +++ b/src/webenginewidgets/api/qwebenginecertificateerror.cpp @@ -79,6 +79,7 @@ public: QUrl url; bool overridable; QString errorDescription; + QList<QSslCertificate> chain; bool answered = false, deferred = false; QWeakPointer<CertificateErrorController> controller; @@ -106,6 +107,7 @@ QWebEngineCertificateError::QWebEngineCertificateError(const QSharedPointer<Cert controller->overridable(), controller->errorString())) { d->controller = controller; + d->chain = controller->chain(); } QWebEngineCertificateError::QWebEngineCertificateError(const QWebEngineCertificateError &other) = default; @@ -236,4 +238,14 @@ bool QWebEngineCertificateError::answered() const return d->answered; } +/*! + Returns the peer's chain of digital certificates + + Chain starts with the peer's immediate certificate and ending with the CA's certificate. +*/ +QList<QSslCertificate> QWebEngineCertificateError::chain() const +{ + return d->chain; +} + QT_END_NAMESPACE |