QOpcUaX509CertificateSigningRequest Class
QOpcUaX509CertificateSigningRequest crée une demande de signature de certificat. Plus d'informations...
| En-tête : | #include <QOpcUaX509CertificateSigningRequest> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS OpcUa)target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
| qmake : | QT += opcua |
Types publics
| enum class | Encoding { PEM, DER } |
| enum class | MessageDigest { SHA256 } |
Fonctions publiques
| QOpcUaX509CertificateSigningRequest() | |
| ~QOpcUaX509CertificateSigningRequest() | |
| void | addExtension(QOpcUaX509Extension *extension) |
| QByteArray | createRequest(const QOpcUaKeyPair &privateKey) |
| QByteArray | createSelfSignedCertificate(const QOpcUaKeyPair &privateKey, int validityInDays = 365) |
| QOpcUaX509CertificateSigningRequest::Encoding | encoding() const |
| QOpcUaX509CertificateSigningRequest::MessageDigest | messageDigest() const |
| void | setEncoding(QOpcUaX509CertificateSigningRequest::Encoding encoding) |
| void | setMessageDigest(QOpcUaX509CertificateSigningRequest::MessageDigest digest) |
| void | setSubject(const QOpcUaX509DistinguishedName &subject) |
| const QOpcUaX509DistinguishedName & | subject() const |
Description détaillée
Cette classe est actuellement disponible en tant qu'aperçu technologique et, par conséquent, l'API et les fonctionnalités fournies par la classe peuvent être modifiées à tout moment sans préavis.
Avant de créer les données de la demande de chant, toute extension nécessaire pour cette demande spécifique doit être ajoutée. Les extensions actuellement prises en charge sont SubjectAlternativeName, BasicConstrains, KeyUsage et ExtendedKeyUsage.
// Generate key QOpcUaKeyPair key; key.generateRsaKey(QOpcUaKeyPair::RsaKeyStrength::Bits1024); QOpcUaX509CertificateSigningRequest csr; QOpcUaX509DistinguishedName dn; dn.setEntry(QOpcUaX509DistinguishedName::Type::CommonName, "QtOpcUaViewer"); dn.setEntry(QOpcUaX509DistinguishedName::Type::CountryName, "DE"); dn.setEntry(QOpcUaX509DistinguishedName::Type::LocalityName, "Berlin"); dn.setEntry(QOpcUaX509DistinguishedName::Type::StateOrProvinceName, "Berlin"); dn.setEntry(QOpcUaX509DistinguishedName::Type::OrganizationName, "The Qt Company"); csr.setSubject(dn); QOpcUaX509ExtensionSubjectAlternativeName *san = new QOpcUaX509ExtensionSubjectAlternativeName; san->addData(QOpcUaX509ExtensionSubjectAlternativeName::Type::DNS, "foo.com"); san->addData(QOpcUaX509ExtensionSubjectAlternativeName::Type::DNS, "foo.com"); san->addData(QOpcUaX509ExtensionSubjectAlternativeName::Type::URI, "urn:foo.com:The%20Qt%20Company:QtOpcUaViewer"); san->setCritical(true); csr.addExtension(san); QOpcUaX509ExtensionBasicConstraints *bc = new QOpcUaX509ExtensionBasicConstraints; bc->setCa(false); bc->setCritical(true); csr.addExtension(bc); QOpcUaX509ExtensionKeyUsage *ku = new QOpcUaX509ExtensionKeyUsage; ku->setCritical(true); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::DigitalSignature); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::NonRepudiation); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::KeyEncipherment); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::DataEncipherment); ku->setKeyUsage(QOpcUaX509ExtensionKeyUsage::KeyUsage::CertificateSigning); csr.addExtension(ku); QOpcUaX509ExtensionExtendedKeyUsage *eku = new QOpcUaX509ExtensionExtendedKeyUsage; eku->setCritical(true); eku->setKeyUsage(QOpcUaX509ExtensionExtendedKeyUsage::KeyUsage::EmailProtection); csr.addExtension(eku); QByteArray csrData = csr.createRequest(key);
Voir également QOpcUaX509ExtensionSubjectAlternativeName, QOpcUaX509ExtensionBasicConstraints, et QOpcUaX509ExtensionKeyUsage.
Documentation sur les types de membres
enum class QOpcUaX509CertificateSigningRequest::Encoding
Ce type d'énumération spécifie l'encodage de la demande de signature de certificat générée.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpcUaX509CertificateSigningRequest::Encoding::PEM | 0 | Utilisation de l'encodage PEM |
QOpcUaX509CertificateSigningRequest::Encoding::DER | 1 | Utilisation de l'encodage DER |
enum class QOpcUaX509CertificateSigningRequest::MessageDigest
Ce type d'énumération spécifie le résumé de message à utiliser.
| Constante | Valeur | Description de la constante |
|---|---|---|
QOpcUaX509CertificateSigningRequest::MessageDigest::SHA256 | 0 | Utilisation du condensé de message SHA256 |
Documentation des fonctions membres
QOpcUaX509CertificateSigningRequest::QOpcUaX509CertificateSigningRequest()
Crée une demande de signature de certificat vide.
[noexcept] QOpcUaX509CertificateSigningRequest::~QOpcUaX509CertificateSigningRequest()
Détruit la demande et libère toutes les extensions.
void QOpcUaX509CertificateSigningRequest::addExtension(QOpcUaX509Extension *extension)
Ajoute une extension de certificat à la demande.
La propriété de l'objet extension sera transférée à cette classe.
Voir aussi QOpcUaX509ExtensionSubjectAlternativeName, QOpcUaX509ExtensionBasicConstraints, et QOpcUaX509ExtensionKeyUsage.
QByteArray QOpcUaX509CertificateSigningRequest::createRequest(const QOpcUaKeyPair &privateKey)
Crée une demande de signature de certificat à envoyer à une autorité de certification pour signature. La clé privée de privateKey est utilisée pour signer la demande. Les données de la demande sont renvoyées sous la forme d'un tableau d'octets dans le codage défini par setEncoding().
QByteArray QOpcUaX509CertificateSigningRequest::createSelfSignedCertificate(const QOpcUaKeyPair &privateKey, int validityInDays = 365)
Crée un certificat auto-signé à partir de cette demande pour une utilisation immédiate. La clé privée de privateKey est utilisée pour signer la demande. Une validité en jours peut être spécifiée dans validityInDays. Les données de la demande sont renvoyées sous la forme d'un tableau d'octets dans le codage défini par setEncoding().
QOpcUaX509CertificateSigningRequest::Encoding QOpcUaX509CertificateSigningRequest::encoding() const
Renvoie l'encodage de la requête utilisé.
Voir aussi setEncoding().
QOpcUaX509CertificateSigningRequest::MessageDigest QOpcUaX509CertificateSigningRequest::messageDigest() const
Renvoie le condensé de message utilisé.
Voir aussi setMessageDigest().
void QOpcUaX509CertificateSigningRequest::setEncoding(QOpcUaX509CertificateSigningRequest::Encoding encoding)
Définit l'encodage de requête utilisé à encoding. L'encodage de requête par défaut est PEM.
Voir aussi encoding().
void QOpcUaX509CertificateSigningRequest::setMessageDigest(QOpcUaX509CertificateSigningRequest::MessageDigest digest)
Définit le résumé de message utilisé à digest. Le résumé de message par défaut est SHA256.
Voir aussi messageDigest().
void QOpcUaX509CertificateSigningRequest::setSubject(const QOpcUaX509DistinguishedName &subject)
Définit l'adresse subject pour cette demande. Sans sujet, il n'est pas possible de générer la demande.
Voir aussi subject().
const QOpcUaX509DistinguishedName &QOpcUaX509CertificateSigningRequest::subject() const
Renvoie le sujet de cette demande.
Voir aussi setSubject().
© 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.