Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QDnsTlsAssociationRecord Class Reference

The QDnsTlsAssociationRecord class stores information about a DNS TLSA record. More...

#include <qdnslookup.h>

+ Collaboration diagram for QDnsTlsAssociationRecord:

Public Types

enum class  CertificateUsage : quint8 {
  CertificateAuthorityConstrait = 0 , ServiceCertificateConstraint = 1 , TrustAnchorAssertion = 2 , DomainIssuedCertificate = 3 ,
  PrivateUse = 255 , PKIX_TA = 0 , PKIX_EE = 1 , DANE_TA = 2 ,
  DANE_EE = 3 , PrivCert = 255
}
 This enumeration contains valid values for the certificate usage field of TLS Association queries. More...
 
enum class  Selector : quint8 {
  FullCertificate = 0 , SubjectPublicKeyInfo = 1 , PrivateUse = 255 , Cert = FullCertificate ,
  SPKI = SubjectPublicKeyInfo , PrivSel = PrivateUse
}
 This enumeration contains valid values for the selector field of TLS Association queries. More...
 
enum class  MatchingType : quint8 {
  Exact = 0 , Sha256 = 1 , Sha512 = 2 , PrivateUse = 255 ,
  PrivMatch = PrivateUse
}
 This enumeration contains valid values for the matching type field of TLS Association queries. More...
 

Public Member Functions

 QDnsTlsAssociationRecord ()
 Constructs an empty TLS Association record.
 
 QDnsTlsAssociationRecord (const QDnsTlsAssociationRecord &other)
 Constructs a copy of other.
 
 QDnsTlsAssociationRecord (QDnsTlsAssociationRecord &&other)
 
QDnsTlsAssociationRecordoperator= (QDnsTlsAssociationRecord &&other) noexcept
 
QDnsTlsAssociationRecordoperator= (const QDnsTlsAssociationRecord &other)
 Moves the content of other into this object.
 
 ~QDnsTlsAssociationRecord ()
 Destroys this TLS Association record object.
 
void swap (QDnsTlsAssociationRecord &other) noexcept
 
QString name () const
 Returns the name of this record.
 
quint32 timeToLive () const
 Returns the duration in seconds for which this record is valid.
 
CertificateUsage usage () const
 Returns the certificate usage field for this record.
 
Selector selector () const
 Returns the selector field for this record.
 
MatchingType matchType () const
 Returns the match type field for this record.
 
QByteArray value () const
 Returns the binary data field for this record.
 

Friends

class QDnsLookupRunnable
 

Detailed Description

The QDnsTlsAssociationRecord class stores information about a DNS TLSA record.

Since
6.8

\inmodule QtNetwork

When performing a text lookup, zero or more records will be returned. Each record is represented by a QDnsTlsAssociationRecord instance.

The meaning of the fields is defined in \l{RFC 6698}.

See also
QDnsLookup

Definition at line 144 of file qdnslookup.h.

Member Enumeration Documentation

◆ CertificateUsage

This enumeration contains valid values for the certificate usage field of TLS Association queries.

The following list is up-to-date with \l{RFC 6698} section 2.1.1 and RFC 7218 section 2.1. Please refer to those documents for authoritative instructions on interpreting this enumeration.

\value CertificateAuthorityConstrait Indicates the record includes an association to a specific Certificate Authority that must be found in the TLS server's certificate chain and must pass PKIX validation.

\value ServiceCertificateConstraint Indicates the record includes an association to a certificate that must match the end entity certificate provided by the TLS server and must pass PKIX validation.

\value TrustAnchorAssertion Indicates the record includes an association to a certificate that MUST be used as the ultimate trust anchor to validate the TLS server's certificate and must pass PKIX validation.

\value DomainIssuedCertificate Indicates the record includes an association to a certificate that must match the end entity certificate provided by the TLS server. PKIX validation is not tested.

\value PrivateUse No standard meaning applied.

\value PKIX_TA Alias; mnemonic for Public Key Infrastructure Trust Anchor

\value PKIX_EE Alias; mnemonic for Public Key Infrastructure End Entity

\value DANE_TA Alias; mnemonic for DNS-based Authentication of Named Entities Trust Anchor

\value DANE_EE Alias; mnemonic for DNS-based Authentication of Named Entities End Entity

\value PrivCert Alias

Other values are currently reserved, but may be unreserved by future standards. This enumeration can be used for those values even if no enumerator is provided.

See also
certificateUsage()
Enumerator
CertificateAuthorityConstrait 
ServiceCertificateConstraint 
TrustAnchorAssertion 
DomainIssuedCertificate 
PrivateUse 
PKIX_TA 
PKIX_EE 
DANE_TA 
DANE_EE 
PrivCert 

Definition at line 148 of file qdnslookup.h.

◆ MatchingType

This enumeration contains valid values for the matching type field of TLS Association queries.

The following list is up-to-date with \l{RFC 6698} section 2.1.3 and RFC 7218 section 2.3. Please refer to those documents for authoritative instructions on interpreting this enumeration.

\value Exact Indicates this the certificate or SPKI data is stored verbatim in this record.

\value Sha256 Indicates this a SHA-256 checksum of the the certificate or SPKI data present in this record.

\value Sha512 Indicates this a SHA-512 checksum of the the certificate or SPKI data present in this record.

\value PrivateUse No standard meaning applied.

\value PrivMatch Alias

Other values are currently reserved, but may be unreserved by future standards. This enumeration can be used for those values even if no enumerator is provided.

See also
matchingType()
Enumerator
Exact 
Sha256 
Sha512 
PrivateUse 
PrivMatch 

Definition at line 180 of file qdnslookup.h.

◆ Selector

This enumeration contains valid values for the selector field of TLS Association queries.

The following list is up-to-date with \l{RFC 6698} section 2.1.2 and RFC 7218 section 2.2. Please refer to those documents for authoritative instructions on interpreting this enumeration.

\value FullCertificate Indicates this record refers to the full certificate in its binary structure form.

\value SubjectPublicKeyInfo Indicates the record refers to the certificate's subject and public key information, in DER-encoded binary structure form.

\value PrivateUse No standard meaning applied.

\value Cert Alias

\value SPKI Alias

\value PrivSel Alias

Other values are currently reserved, but may be unreserved by future standards. This enumeration can be used for those values even if no enumerator is provided.

See also
selector()
Enumerator
FullCertificate 
SubjectPublicKeyInfo 
PrivateUse 
Cert 
SPKI 
PrivSel 

Definition at line 166 of file qdnslookup.h.

Constructor & Destructor Documentation

◆ QDnsTlsAssociationRecord() [1/3]

QDnsTlsAssociationRecord::QDnsTlsAssociationRecord ( )

Constructs an empty TLS Association record.

Definition at line 1424 of file qdnslookup.cpp.

◆ QDnsTlsAssociationRecord() [2/3]

QDnsTlsAssociationRecord::QDnsTlsAssociationRecord ( const QDnsTlsAssociationRecord & other)
default

Constructs a copy of other.

◆ QDnsTlsAssociationRecord() [3/3]

QDnsTlsAssociationRecord::QDnsTlsAssociationRecord ( QDnsTlsAssociationRecord && other)
inline

Definition at line 193 of file qdnslookup.h.

◆ ~QDnsTlsAssociationRecord()

QDnsTlsAssociationRecord::~QDnsTlsAssociationRecord ( )
default

Destroys this TLS Association record object.

Member Function Documentation

◆ matchType()

QDnsTlsAssociationRecord::MatchingType QDnsTlsAssociationRecord::matchType ( ) const

Returns the match type field for this record.

Definition at line 1480 of file qdnslookup.cpp.

References QDnsTlsAssociationRecordPrivate::matchType.

◆ name()

QString QDnsTlsAssociationRecord::name ( ) const

Returns the name of this record.

Definition at line 1448 of file qdnslookup.cpp.

References QDnsRecordPrivate::name.

◆ operator=() [1/2]

QDnsTlsAssociationRecord & QDnsTlsAssociationRecord::operator= ( const QDnsTlsAssociationRecord & other)
default

Moves the content of other into this object.

◆ operator=() [2/2]

QDnsTlsAssociationRecord & QDnsTlsAssociationRecord::operator= ( QDnsTlsAssociationRecord && other)
inlinenoexcept

Definition at line 196 of file qdnslookup.h.

References other(), and swap().

+ Here is the call graph for this function:

◆ selector()

QDnsTlsAssociationRecord::Selector QDnsTlsAssociationRecord::selector ( ) const

Returns the selector field for this record.

Definition at line 1472 of file qdnslookup.cpp.

References QDnsTlsAssociationRecordPrivate::selector.

◆ swap()

void QDnsTlsAssociationRecord::swap ( QDnsTlsAssociationRecord & other)
inlinenoexcept

Definition at line 200 of file qdnslookup.h.

References d, and other().

+ Here is the call graph for this function:

◆ timeToLive()

quint32 QDnsTlsAssociationRecord::timeToLive ( ) const

Returns the duration in seconds for which this record is valid.

Definition at line 1456 of file qdnslookup.cpp.

References QDnsRecordPrivate::timeToLive.

◆ usage()

QDnsTlsAssociationRecord::CertificateUsage QDnsTlsAssociationRecord::usage ( ) const

Returns the certificate usage field for this record.

Definition at line 1464 of file qdnslookup.cpp.

References QDnsTlsAssociationRecordPrivate::usage.

◆ value()

QByteArray QDnsTlsAssociationRecord::value ( ) const

Returns the binary data field for this record.

The interpretation of this binary data depends on the three numeric fields provided by certificateUsage(), selector(), and matchType().

Do note this is a binary field, even for the checksums, similar to what QCyrptographicHash::result() returns.

Definition at line 1493 of file qdnslookup.cpp.

References QDnsTlsAssociationRecordPrivate::value.

Friends And Related Symbol Documentation

◆ QDnsLookupRunnable

friend class QDnsLookupRunnable
friend

Definition at line 211 of file qdnslookup.h.


The documentation for this class was generated from the following files: