QOpcUaX509CertificateSigningRequest Class
QOpcUaX509CertificateSigningRequest erstellt eine Zertifikatsignierungsanfrage. Mehr...
| Header: | #include <QOpcUaX509CertificateSigningRequest> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa)target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
| qmake: | QT += opcua |
Öffentliche Typen
| enum class | Encoding { PEM, DER } |
| enum class | MessageDigest { SHA256 } |
Öffentliche Funktionen
| 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 |
Detaillierte Beschreibung
Diese Klasse ist derzeit als Technologievorschau verfügbar. Daher können die API und die von der Klasse bereitgestellte Funktionalität jederzeit ohne vorherige Ankündigung geändert werden.
Vor der eigentlichen Erstellung der Gesangsanforderungsdaten muss jede für diese spezifische Anforderung erforderliche Erweiterung hinzugefügt werden. Derzeit unterstützte Erweiterungen sind SubjectAlternativeName, BasicConstrains, KeyUsage und 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);
Siehe auch QOpcUaX509ExtensionSubjectAlternativeName, QOpcUaX509ExtensionBasicConstraints, QOpcUaX509ExtensionKeyUsage, und QOpcUaX509ExtensionKeyUsage.
Dokumentation der Mitgliedstypen
enum class QOpcUaX509CertificateSigningRequest::Encoding
Dieser Enum-Typ gibt die Kodierung der generierten Zertifikatsignierungsanfrage an.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpcUaX509CertificateSigningRequest::Encoding::PEM | 0 | PEM-Kodierung verwenden |
QOpcUaX509CertificateSigningRequest::Encoding::DER | 1 | DER-Kodierung verwenden |
enum class QOpcUaX509CertificateSigningRequest::MessageDigest
Dieser Enum-Typ gibt den zu verwendenden Message Digest an.
| Konstante | Wert | Beschreibung |
|---|---|---|
QOpcUaX509CertificateSigningRequest::MessageDigest::SHA256 | 0 | Verwendung des SHA256 Message Digest |
Dokumentation der Mitgliedsfunktionen
QOpcUaX509CertificateSigningRequest::QOpcUaX509CertificateSigningRequest()
Erzeugt eine leere Zertifikatsignaturanforderung.
[noexcept] QOpcUaX509CertificateSigningRequest::~QOpcUaX509CertificateSigningRequest()
Zerstört die Anfrage und gibt alle Erweiterungen frei.
void QOpcUaX509CertificateSigningRequest::addExtension(QOpcUaX509Extension *extension)
Fügt der Anforderung eine Zertifikatserweiterung hinzu.
Der Besitz des extension Objekts wird an diese Klasse übertragen.
Siehe auch QOpcUaX509ExtensionSubjectAlternativeName, QOpcUaX509ExtensionBasicConstraints, QOpcUaX509ExtensionKeyUsage, und QOpcUaX509ExtensionKeyUsage.
QByteArray QOpcUaX509CertificateSigningRequest::createRequest(const QOpcUaKeyPair &privateKey)
Erstellt eine Zertifikatsignierungsanforderung, die an eine CA zum Signieren gesendet wird. Der private Schlüssel in privateKey wird zum Signieren der Anforderung verwendet. Die Anfragedaten werden als Byte-Array in der mit setEncoding() eingestellten Kodierung zurückgegeben.
QByteArray QOpcUaX509CertificateSigningRequest::createSelfSignedCertificate(const QOpcUaKeyPair &privateKey, int validityInDays = 365)
Erzeugt aus dieser Anforderung ein selbstsigniertes Zertifikat zur sofortigen Verwendung. Der private Schlüssel in privateKey wird zum Signieren der Anfrage verwendet. Eine Gültigkeit in Tagen kann in validityInDays angegeben werden. Die Anfragedaten werden als Byte-Array in der mit setEncoding() eingestellten Kodierung zurückgegeben.
QOpcUaX509CertificateSigningRequest::Encoding QOpcUaX509CertificateSigningRequest::encoding() const
Gibt die verwendete Anfragekodierung zurück.
Siehe auch setEncoding().
QOpcUaX509CertificateSigningRequest::MessageDigest QOpcUaX509CertificateSigningRequest::messageDigest() const
Gibt den verwendeten Message Digest zurück.
Siehe auch setMessageDigest().
void QOpcUaX509CertificateSigningRequest::setEncoding(QOpcUaX509CertificateSigningRequest::Encoding encoding)
Setzt die verwendete Anfragekodierung auf encoding. Die Standardanfragekodierung ist PEM.
Siehe auch encoding().
void QOpcUaX509CertificateSigningRequest::setMessageDigest(QOpcUaX509CertificateSigningRequest::MessageDigest digest)
Setzt den verwendeten Message Digest auf digest. Der Standard Message Digest ist SHA256.
Siehe auch messageDigest().
void QOpcUaX509CertificateSigningRequest::setSubject(const QOpcUaX509DistinguishedName &subject)
Legt die subject für diese Anfrage fest. Ohne einen Betreff ist es nicht möglich, die Anfrage zu generieren.
Siehe auch subject().
const QOpcUaX509DistinguishedName &QOpcUaX509CertificateSigningRequest::subject() const
Gibt den Betreff dieser Anfrage zurück.
Siehe auch setSubject().
© 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.