Sur cette page

QSslCertificateExtension Class

La classe `QSslCertificateExtension` fournit une API permettant d'accéder aux extensions d'un certificat X509. En savoir plus...

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

Remarque : 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 certificat X509 possèdent les propriétés suivantes :

PropriétéDescription
nameNom lisible par l'utilisateur de l'extension, par exemple « basicConstraints ».
criticitéIl s'agit d'une valeur booléenne indiquant si l'extension est essentielle à l'interprétation correcte du certificat.
oidL'identifiant d'objet ASN.1 qui spécifie de quelle extension il s'agit.
pris en chargeSi cette valeur est vraie, la structure de la valeur de l'extension ne changera pas d'une version de Qt à l'autre.
valueUn objet ` QVariant ` dont la structure dépend du type d’extension.

Bien que cette classe donne accès à tout type d’extension, seules certaines sont garanties d’être renvoyées dans un format qui restera inchangé d’une version à l’autre. La méthode ` isSupported()` renvoie ` true ` pour les extensions concernées.

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

NomOIDDétails
basicConstraints2.5.29.19Renvoyé sous la forme d'un objet de type « QVariantMap ». La clé «ca» contient une valeur booléenne, tandis que la clé facultative «pathLenConstraint» contient un entier.
authorityInfoAccess1.3.6.1.5.5.7.1.1Renvoyé sous la forme d'un objet « QVariantMap ». Il existe une clé pour chaque méthode d'accès, dont la valeur est un URI.
subjectKeyIdentifier2.5.29.14Renvoyé sous la forme d'un « QVariant » contenant une chaîne de caractères « QString ». Cette chaîne correspond à l'identifiant de la clé.
authorityKeyIdentifier2.5.29.35Renvoyé sous la forme d’un « QVariantMap ». La clé facultative « keyid » contient l’identifiant de clé sous forme de chaîne hexadécimale stockée dans un « QByteArray ». La clé facultative « serial » contient le numéro de série de la clé d’autorité sous forme de « qlonglong ». Actuellement, le champ « general names » de cette extension n’est pas pris en charge.

Outre les extensions prises en charge ci-dessus, de nombreuses autres extensions courantes seront renvoyées de manière raisonnablement structurée. Les extensions que le backend SSL ne prend absolument pas en charge seront renvoyées sous la forme d’un « QByteArray ».

Vous trouverez de plus amples informations sur les types d’extensions que les certificats peuvent contenir dans la RFC 5280.

Voir également QSslCertificate::extensions().

Documentation des fonctions membres

QSslCertificateExtension::QSslCertificateExtension()

Crée un objet `QSslCertificateExtension`.

QSslCertificateExtension::QSslCertificateExtension(const QSslCertificateExtension &other)

Crée une copie de other.

[noexcept] QSslCertificateExtension::~QSslCertificateExtension()

Supprime l'extension.

bool QSslCertificateExtension::isCritical() const

Renvoie le niveau de criticité de l'extension.

bool QSslCertificateExtension::isSupported() const

Renvoie « true » si cette extension est prise en charge. Dans ce cas, « prise en charge » signifie simplement que la structure de l’ QVariant e 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, c'est l'OID qui 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 ne rencontre jamais d'échec.

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 la classe « 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.