Sur cette page

QSslCertificateExtension Class

La classe QSslCertificateExtension fournit une API permettant d'accéder aux extensions d'un certificat X509. Plus d'informations...

En-tête : #include <QSslCertificateExtension>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

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)

Description détaillée

QSslCertificateExtension permet d'accéder à une extension stockée dans un certificat X509. Les informations disponibles dépendent du type d'extension auquel on accède.

Toutes les extensions de certificats X509 possèdent les propriétés suivantes :

PropriétéDescription de la propriété
nomNom lisible de l'extension, par exemple "basicConstraints".
criticitéValeur booléenne indiquant si l'extension est essentielle à l'interprétation correcte du certificat.
oidL'identificateur d'objet ASN.1 qui précise de quelle extension il s'agit.
supportéSi cette valeur est vraie, la structure de la valeur de l'extension ne changera pas entre les versions de Qt.
valeurQVariant dont la structure dépend du type d'extension.

Bien que cette classe permette d'accéder à n'importe quel type d'extension, seuls certains sont garantis d'être renvoyés dans un format qui restera inchangé d'une version à l'autre. La méthode isSupported() renvoie true pour les extensions pour lesquelles c'est le cas.

Les extensions actuellement prises en charge et la structure de la valeur renvoyée sont les suivantes :

NomOIDDétails
basicConstraints2.5.29.19Renvoyé sous forme de QVariantMap. La clé "ca" contient une valeur booléenne, la clé facultative "pathLenConstraint" contient un nombre entier.
authorityInfoAccess1.3.6.1.5.5.7.1.1Renvoyé sous forme de QVariantMap. Il existe une clé pour chaque méthode d'accès, la valeur étant un URI.
subjectKeyIdentifier2.5.29.14Renvoyé sous la forme d'un QVariant contenant un QString. La chaîne est l'identifiant de la clé.
authorityKeyIdentifier2.5.29.35Renvoyé sous la forme d'un QVariantMap. La clé facultative "keyid" contient l'identifiant de la clé sous la forme d'une chaîne hexagonale stockée dans un QByteArray. La clé facultative "serial" contient le numéro de série de la clé d'autorité sous la forme d'un qlonglong. Actuellement, il n'y a pas de prise en charge du champ "general names" de cette extension.

Outre les extensions prises en charge ci-dessus, de nombreuses autres extensions courantes seront renvoyées d'une manière raisonnablement structurée. Les extensions qui ne sont pas prises en charge par le backend SSL seront renvoyées sous la forme d'une adresse QByteArray.

De plus amples informations sur les types d'extensions que les certificats peuvent contenir sont disponibles dans la RFC 5280.

Voir également QSslCertificate::extensions().

Documentation des fonctions membres

QSslCertificateExtension::QSslCertificateExtension()

Construit une QSslCertificateExtension.

QSslCertificateExtension::QSslCertificateExtension(const QSslCertificateExtension &other)

Construit une copie de other.

[noexcept] QSslCertificateExtension::~QSslCertificateExtension()

Détruit l'extension.

bool QSslCertificateExtension::isCritical() const

Renvoie la criticité de l'extension.

bool QSslCertificateExtension::isSupported() const

Renvoie la valeur true si cette extension est prise en charge. Dans ce cas, supporté signifie simplement que la structure de QVariant renvoyée par l'accesseur value() restera inchangée d'une version à l'autre. Les extensions non prises en charge peuvent être utilisées librement, mais il n'y a aucune garantie que les données renvoyées auront la même structure d'une version à l'autre.

QString QSslCertificateExtension::name() const

Renvoie le nom de l'extension. Si aucun nom n'est connu pour l'extension, l'OID sera renvoyé.

QString QSslCertificateExtension::oid() const

Renvoie l'OID ASN.1 de cette extension.

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

Remplace cette instance d'extension de certificat par other. Cette opération est très rapide et n'échoue jamais.

QVariant QSslCertificateExtension::value() const

Renvoie la valeur de l'extension. La structure de la valeur renvoyée dépend du type d'extension.

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

Attribue other à cette extension et renvoie une référence à cette extension.

© 2026 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.