QSslCertificate¶
The
QSslCertificate
class provides a convenient API for an X509 certificate. More…
Synopsis¶
Functions¶
def
__eq__
(other)def
__ne__
(other)def
clear
()def
digest
([algorithm=QCryptographicHash.Md5])def
effectiveDate
()def
expiryDate
()def
extensions
()def
handle
()def
isBlacklisted
()def
isNull
()def
isSelfSigned
()def
issuerDisplayName
()def
issuerInfo
(attribute)def
issuerInfo
(info)def
issuerInfoAttributes
()def
publicKey
()def
serialNumber
()def
subjectAlternativeNames
()def
subjectDisplayName
()def
subjectInfo
(attribute)def
subjectInfo
(info)def
subjectInfoAttributes
()def
swap
(other)def
toDer
()def
toPem
()def
toText
()def
version
()
Static functions¶
def
fromData
(data[, format=QSsl.Pem])def
fromDevice
(device[, format=QSsl.Pem])def
fromPath
(path, format, syntax)def
fromPath
(path[, format=QSsl.Pem[, syntax=PatternSyntax.FixedString]])def
importPkcs12
(device, key, cert[, caCertificates=None[, passPhrase=QByteArray()]])def
verify
(certificateChain[, hostName=””])
Detailed Description¶
QSslCertificate
stores an X509 certificate, and is commonly used to verify the identity and store information about the local host, a remotely connected peer, or a trusted third party Certificate Authority.There are many ways to construct a
QSslCertificate
. The most common way is to callpeerCertificate()
, which returns aQSslCertificate
object, orpeerCertificateChain()
, which returns a list of them. You can also load certificates from a DER (binary) or PEM (Base64) encoded bundle, typically stored as one or more local files, or in a Qt Resource.You can call
isNull()
to check if your certificate is null. By default,QSslCertificate
constructs a null certificate. A null certificate is invalid, but an invalid certificate is not necessarily null. If you want to reset all contents in a certificate, callclear()
.After loading a certificate, you can find information about the certificate, its subject, and its issuer, by calling one of the many accessor functions, including
version()
,serialNumber()
,issuerInfo()
andsubjectInfo()
. You can calleffectiveDate()
andexpiryDate()
to check when the certificate starts being effective and when it expires. ThepublicKey()
function returns the certificate subject’s public key as aQSslKey
. You can callissuerInfo()
orsubjectInfo()
to get detailed information about the certificate issuer and its subject.Internally,
QSslCertificate
is stored as an X509 structure. You can access this handle by callinghandle()
, but the results are likely to not be portable.See also
- class PySide2.QtNetwork.QSslCertificate(device[, format=QSsl.Pem])¶
PySide2.QtNetwork.QSslCertificate([data=QByteArray()[, format=QSsl.Pem]])
PySide2.QtNetwork.QSslCertificate(other)
- param format:
- param device:
- param other:
- param data:
Constructs a
QSslCertificate
by readingformat
encoded data fromdevice
and using the first certificate found. You can later callisNull()
to see ifdevice
contained a certificate, and if this certificate was loaded successfully.Constructs an identical copy of
other
.
- PySide2.QtNetwork.QSslCertificate.SubjectInfo¶
Describes keys that you can pass to
issuerInfo()
orsubjectInfo()
to get information about the certificate issuer or subject.Constant
Description
QSslCertificate.Organization
“O” The name of the organization.
QSslCertificate.CommonName
“CN” The common name; most often this is used to store the host name.
QSslCertificate.LocalityName
“L” The locality.
QSslCertificate.OrganizationalUnitName
“OU” The organizational unit name.
QSslCertificate.CountryName
“C” The country.
QSslCertificate.StateOrProvinceName
“ST” The state or province.
QSslCertificate.DistinguishedNameQualifier
The distinguished name qualifier
QSslCertificate.SerialNumber
The certificate’s serial number
QSslCertificate.EmailAddress
The email address associated with the certificate
- PySide2.QtNetwork.QSslCertificate.PatternSyntax¶
The syntax used to interpret the meaning of the pattern.
Constant
Description
QSslCertificate.PatternSyntax.RegularExpression
A rich Perl-like pattern matching syntax.
QSslCertificate.PatternSyntax.Wildcard
This provides a simple pattern matching syntax similar to that used by shells (command interpreters) for “file globbing”. See
QRegularExpression Wildcard Matching
.QSslCertificate.PatternSyntax.FixedString
The pattern is a fixed string. This is equivalent to using the pattern on a string in which all metacharacters are escaped using escape(). This is the default.
New in version 5.15.
- PySide2.QtNetwork.QSslCertificate.clear()¶
Clears the contents of this certificate, making it a null certificate.
See also
- PySide2.QtNetwork.QSslCertificate.digest([algorithm=QCryptographicHash.Md5])¶
- Parameters:
algorithm –
Algorithm
- Return type:
Returns a cryptographic digest of this certificate. By default, an MD5 digest will be generated, but you can also specify a custom
algorithm
.
- PySide2.QtNetwork.QSslCertificate.effectiveDate()¶
- Return type:
Returns the date-time that the certificate becomes valid, or an empty
QDateTime
if this is a null certificate.See also
- PySide2.QtNetwork.QSslCertificate.expiryDate()¶
- Return type:
Returns the date-time that the certificate expires, or an empty
QDateTime
if this is a null certificate.See also
- PySide2.QtNetwork.QSslCertificate.extensions()¶
- Return type:
Returns a list containing the X509 extensions of this certificate.
- static PySide2.QtNetwork.QSslCertificate.fromData(data[, format=QSsl.Pem])¶
- Parameters:
data –
PySide2.QtCore.QByteArray
format –
EncodingFormat
- Return type:
Searches for and parses all certificates in
data
that are encoded in the specifiedformat
and returns them in a list of certificates.See also
- static PySide2.QtNetwork.QSslCertificate.fromDevice(device[, format=QSsl.Pem])¶
- Parameters:
device –
PySide2.QtCore.QIODevice
format –
EncodingFormat
- Return type:
Searches for and parses all certificates in
device
that are encoded in the specifiedformat
and returns them in a list of certificates.See also
- static PySide2.QtNetwork.QSslCertificate.fromPath(path, format, syntax)¶
- Parameters:
path – str
format –
EncodingFormat
syntax –
PatternSyntax
- Return type:
Note
This function is deprecated.
- static PySide2.QtNetwork.QSslCertificate.fromPath(path[, format=QSsl.Pem[, syntax=PatternSyntax.FixedString]])
- Parameters:
path – str
format –
EncodingFormat
syntax –
PatternSyntax
- Return type:
- PySide2.QtNetwork.QSslCertificate.handle()¶
- Return type:
Qt::HANDLE
Returns a pointer to the native certificate handle, if there is one, else
None
.You can use this handle, together with the native API, to access extended information about the certificate.
Warning
Use of this function has a high probability of being non-portable, and its return value may vary from platform to platform or change from minor release to minor release.
- static PySide2.QtNetwork.QSslCertificate.importPkcs12(device, key, cert[, caCertificates=None[, passPhrase=QByteArray()]])¶
- Parameters:
device –
PySide2.QtCore.QIODevice
caCertificates –
QList
passPhrase –
PySide2.QtCore.QByteArray
- Return type:
bool
Imports a PKCS#12 (pfx) file from the specified
device
. A PKCS#12 file is a bundle that can contain a number of certificates and keys. This method reads a singlekey
, itscertificate
and any associatedcaCertificates
from the bundle. If apassPhrase
is specified then this will be used to decrypt the bundle. Returnstrue
if the PKCS#12 file was successfully loaded.Note
The
device
must be open and ready to be read from.
- PySide2.QtNetwork.QSslCertificate.isBlacklisted()¶
- Return type:
bool
Returns
true
if this certificate is blacklisted; otherwise returnsfalse
.See also
- PySide2.QtNetwork.QSslCertificate.isNull()¶
- Return type:
bool
Returns
true
if this is a null certificate (i.e., a certificate with no contents); otherwise returnsfalse
.By default,
QSslCertificate
constructs a null certificate.See also
- PySide2.QtNetwork.QSslCertificate.isSelfSigned()¶
- Return type:
bool
Returns
true
if this certificate is self signed; otherwise returnsfalse
.A certificate is considered self-signed its issuer and subject are identical.
- PySide2.QtNetwork.QSslCertificate.issuerDisplayName()¶
- Return type:
str
Returns a name that describes the issuer. It returns the
CommonName
if available, otherwise falls back to the firstOrganization
or the firstOrganizationalUnitName
.See also
- PySide2.QtNetwork.QSslCertificate.issuerInfo(attribute)¶
- Parameters:
attribute –
PySide2.QtCore.QByteArray
- Return type:
list of strings
- PySide2.QtNetwork.QSslCertificate.issuerInfo(info)
- Parameters:
info –
SubjectInfo
- Return type:
list of strings
Returns the issuer information for the
subject
from the certificate, or an empty list if there is no information forsubject
in the certificate. There can be more than one entry of each type.See also
- PySide2.QtNetwork.QSslCertificate.issuerInfoAttributes()¶
- Return type:
Returns a list of the attributes that have values in the issuer information of this certificate. The information associated with a given attribute can be accessed using the
issuerInfo()
method. Note that this list may include the OIDs for any elements that are not known by the SSL backend.See also
- PySide2.QtNetwork.QSslCertificate.__ne__(other)¶
- Parameters:
- Return type:
bool
Returns
true
if this certificate is not the same asother
; otherwise returnsfalse
.
- PySide2.QtNetwork.QSslCertificate.__eq__(other)¶
- Parameters:
- Return type:
bool
Returns
true
if this certificate is the same asother
; otherwise returnsfalse
.
- PySide2.QtNetwork.QSslCertificate.publicKey()¶
- Return type:
Returns the certificate subject’s public key.
- PySide2.QtNetwork.QSslCertificate.serialNumber()¶
- Return type:
Returns the certificate’s serial number string in hexadecimal format.
- PySide2.QtNetwork.QSslCertificate.subjectAlternativeNames()¶
- Return type:
Returns the list of alternative subject names for this certificate. The alternative names typically contain host names, optionally with wildcards, that are valid for this certificate.
These names are tested against the connected peer’s host name, if either the subject information for
CommonName
doesn’t define a valid host name, or the subject info name doesn’t match the peer’s host name.See also
- PySide2.QtNetwork.QSslCertificate.subjectDisplayName()¶
- Return type:
str
Returns a name that describes the subject. It returns the
CommonName
if available, otherwise falls back to the firstOrganization
or the firstOrganizationalUnitName
.See also
- PySide2.QtNetwork.QSslCertificate.subjectInfo(info)¶
- Parameters:
info –
SubjectInfo
- Return type:
list of strings
Returns the information for the
subject
, or an empty list if there is no information forsubject
in the certificate. There can be more than one entry of each type.See also
- PySide2.QtNetwork.QSslCertificate.subjectInfo(attribute)
- Parameters:
attribute –
PySide2.QtCore.QByteArray
- Return type:
list of strings
- PySide2.QtNetwork.QSslCertificate.subjectInfoAttributes()¶
- Return type:
Returns a list of the attributes that have values in the subject information of this certificate. The information associated with a given attribute can be accessed using the
subjectInfo()
method. Note that this list may include the OIDs for any elements that are not known by the SSL backend.See also
- PySide2.QtNetwork.QSslCertificate.swap(other)¶
- Parameters:
Swaps this certificate instance with
other
. This function is very fast and never fails.
- PySide2.QtNetwork.QSslCertificate.toDer()¶
- Return type:
Returns this certificate converted to a DER (binary) encoded representation.
- PySide2.QtNetwork.QSslCertificate.toPem()¶
- Return type:
Returns this certificate converted to a PEM (Base64) encoded representation.
- PySide2.QtNetwork.QSslCertificate.toText()¶
- Return type:
str
Returns this certificate converted to a human-readable text representation.
- static PySide2.QtNetwork.QSslCertificate.verify(certificateChain[, hostName=""])¶
- Parameters:
certificateChain –
hostName – str
- Return type:
Verifies a certificate chain. The chain to be verified is passed in the
certificateChain
parameter. The first certificate in the list should be the leaf certificate of the chain to be verified. IfhostName
is specified then the certificate is also checked to see if it is valid for the specified host name.Note that the root (CA) certificate should not be included in the list to be verified, this will be looked up automatically using the CA list specified in the default
QSslConfiguration
, and, in addition, if possible, CA certificates loaded on demand on Unix and Windows.
- PySide2.QtNetwork.QSslCertificate.version()¶
- Return type:
Returns the certificate’s version string.
© 2022 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.