QSslCertificateExtension Class

Die Klasse QSslCertificateExtension bietet eine API für den Zugriff auf die Erweiterungen eines X509-Zertifikats. Mehr...

Header: #include <QSslCertificateExtension>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

QSslCertificateExtension()
QSslCertificateExtension(const QSslCertificateExtension &other)
~QSslCertificateExtension()
bool isCritical() const
bool isSupported() const
QString name() const
QString oid() const
void swap(QSslCertificateExtension &other)
QVariant value() const
QSslCertificateExtension &operator=(const QSslCertificateExtension &other)

Detaillierte Beschreibung

QSslCertificateExtension ermöglicht den Zugriff auf eine in einem X509-Zertifikat gespeicherte Erweiterung. Die verfügbaren Informationen hängen von der Art der Erweiterung ab, auf die zugegriffen wird.

Alle X509-Zertifikatserweiterungen haben die folgenden Eigenschaften:

EigenschaftBeschreibung
nameDer von Menschen lesbare Name der Erweiterung, z. B. "basicConstraints".
KritikalitätDies ist ein boolescher Wert, der angibt, ob die Erweiterung für die korrekte Interpretation des Zertifikats entscheidend ist.
oidDer ASN.1-Objektbezeichner, der angibt, um welche Erweiterung es sich handelt.
UnterstütztWenn dies wahr ist, ändert sich die Struktur des Wertes der Erweiterung nicht zwischen Qt-Versionen.
WertEine QVariant mit einer Struktur, die vom Typ der Erweiterung abhängt.

Während diese Klasse den Zugriff auf jede Art von Erweiterung ermöglicht, wird nur bei einigen garantiert, dass sie in einem Format zurückgegeben werden, das zwischen verschiedenen Versionen unverändert bleibt. Die Methode isSupported() gibt true für Erweiterungen zurück, bei denen dies der Fall ist.

Die derzeit unterstützten Erweiterungen und die Struktur des zurückgegebenen Wertes sind wie folgt:

NameOIDEinzelheiten
basicConstraints2.5.29.19Wird als QVariantMap zurückgegeben. Der Schlüssel "ca" enthält einen booleschen Wert, der optionale Schlüssel "pathLenConstraint" enthält eine ganze Zahl.
authorityInfoAccess1.3.6.1.5.5.7.1.1Wird als QVariantMap zurückgegeben. Es gibt einen Schlüssel für jede Zugriffsmethode, wobei der Wert ein URI ist.
subjectKeyIdentifier2.5.29.14Wird als QVariant mit einer QString zurückgegeben. Die Zeichenkette ist der Schlüsselbezeichner.
authorityKeyIdentifier2.5.29.35Wird als QVariantMap zurückgegeben. Der optionale Schlüssel "keyid" enthält die Schlüsselkennung als Hex-String, der in einem QByteArray gespeichert ist. Der optionale Schlüssel "serial" enthält die Seriennummer des Behördenschlüssels als qlonglong. Derzeit gibt es keine Unterstützung für das allgemeine Namensfeld dieser Erweiterung.

Zusätzlich zu den oben genannten unterstützten Erweiterungen werden viele andere gebräuchliche Erweiterungen in einer vernünftig strukturierten Weise zurückgegeben. Erweiterungen, für die das SSL-Backend keine Unterstützung bietet, werden als QByteArray zurückgegeben.

Weitere Informationen über die Arten von Erweiterungen, die Zertifikate enthalten können, finden Sie in RFC 5280.

Siehe auch QSslCertificate::extensions().

Dokumentation der Mitgliedsfunktionen

QSslCertificateExtension::QSslCertificateExtension()

Konstruiert eine QSslCertificateExtension.

QSslCertificateExtension::QSslCertificateExtension(const QSslCertificateExtension &other)

Konstruiert eine Kopie von other.

[noexcept] QSslCertificateExtension::~QSslCertificateExtension()

Zerstört die Erweiterung.

bool QSslCertificateExtension::isCritical() const

Gibt die Kritikalität der Erweiterung zurück.

bool QSslCertificateExtension::isSupported() const

Gibt den Wert true zurück, wenn diese Erweiterung unterstützt wird. In diesem Fall bedeutet "unterstützt" einfach, dass die Struktur von QVariant, die vom Accessor value() zurückgegeben wird, zwischen den Versionen unverändert bleibt. Nicht unterstützte Erweiterungen können frei verwendet werden, es gibt jedoch keine Garantie dafür, dass die zurückgegebenen Daten zwischen den Versionen dieselbe Struktur haben werden.

QString QSslCertificateExtension::name() const

Gibt den Namen der Erweiterung zurück. Wenn kein Name für die Erweiterung bekannt ist, wird die OID zurückgegeben.

QString QSslCertificateExtension::oid() const

Gibt die ASN.1 OID dieser Erweiterung zurück.

[noexcept] void QSslCertificateExtension::swap(QSslCertificateExtension &other)

Tauscht diese Zertifikatserweiterungsinstanz mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QVariant QSslCertificateExtension::value() const

Gibt den Wert der Erweiterung zurück. Die Struktur des zurückgegebenen Wertes hängt von der Art der Erweiterung ab.

QSslCertificateExtension &QSslCertificateExtension::operator=(const QSslCertificateExtension &other)

Weist other dieser Nebenstelle zu und gibt einen Verweis auf diese Nebenstelle zurück.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.