QSslCertificate#
The QSslCertificate
class provides a convenient API for an X509 certificate. More…
Synopsis#
Functions#
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
(info)def
issuerInfo
(attribute)def
issuerInfoAttributes
()def
__ne__
(other)def
__eq__
(other)def
publicKey
()def
serialNumber
()def
subjectAlternativeNames
()def
subjectDisplayName
()def
subjectInfo
(info)def
subjectInfo
(attribute)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=QSsl.Pem[, syntax=QSslCertificate.PatternSyntax.FixedString]])def
importPkcs12
(device, key, cert[, caCertificates=None[, passPhrase=QByteArray()]])def
verify
(certificateChain[, hostName=””])
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
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 call peerCertificate()
, which returns a QSslCertificate
object, or peerCertificateChain()
, 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, call clear()
.
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()
and subjectInfo()
. You can call effectiveDate()
and expiryDate()
to check when the certificate starts being effective and when it expires. The publicKey()
function returns the certificate subject’s public key as a QSslKey
. You can call issuerInfo()
or subjectInfo()
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 calling handle()
, but the results are likely to not be portable.
See also
- class PySide6.QtNetwork.QSslCertificate(device[, format=QSsl.Pem])#
PySide6.QtNetwork.QSslCertificate([data=QByteArray()[, format=QSsl.Pem]])
PySide6.QtNetwork.QSslCertificate(other)
- Parameters:
format –
EncodingFormat
data –
PySide6.QtCore.QByteArray
device –
PySide6.QtCore.QIODevice
Constructs a QSslCertificate
by reading format
encoded data from device
and using the first certificate found. You can later call isNull()
to see if device
contained a certificate, and if this certificate was loaded successfully.
Constructs a QSslCertificate
by parsing the format
encoded data
and using the first available certificate found. You can later call isNull()
to see if data
contained a certificate, and if this certificate was loaded successfully.
Constructs an identical copy of other
.
- PySide6.QtNetwork.QSslCertificate.SubjectInfo#
Describes keys that you can pass to issuerInfo()
or subjectInfo()
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
- PySide6.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
fromWildcard()
.QSslCertificate.PatternSyntax.FixedString
The pattern is a fixed string. This is equivalent to using the RegularExpression pattern on a string in which all metacharacters are escaped using escape(). This is the default.
- PySide6.QtNetwork.QSslCertificate.clear()#
Clears the contents of this certificate, making it a null certificate.
See also
- PySide6.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
.
- PySide6.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
- PySide6.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
- PySide6.QtNetwork.QSslCertificate.extensions()#
Returns a list containing the X509 extensions of this certificate.
- static PySide6.QtNetwork.QSslCertificate.fromData(data[, format=QSsl.Pem])#
- Parameters:
data –
PySide6.QtCore.QByteArray
format –
EncodingFormat
Searches for and parses all certificates in data
that are encoded in the specified format
and returns them in a list of certificates.
See also
- static PySide6.QtNetwork.QSslCertificate.fromDevice(device[, format=QSsl.Pem])#
- Parameters:
device –
PySide6.QtCore.QIODevice
format –
EncodingFormat
Searches for and parses all certificates in device
that are encoded in the specified format
and returns them in a list of certificates.
See also
- static PySide6.QtNetwork.QSslCertificate.fromPath(path[, format=QSsl.Pem[, syntax=QSslCertificate.PatternSyntax.FixedString]])#
- Parameters:
path – str
format –
EncodingFormat
syntax –
PatternSyntax
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Searches all files in the path
for certificates encoded in the specified format
and returns them in a list. path
must be a file or a pattern matching one or more files, as specified by syntax
.
Example:
certs = QSslCertificate.fromPath("C:/ssl/certificate.*.pem",() QSsl.Pem, QSslCertificate.Wildcard) for cert in certs: print(cert.issuerInfo(QSslCertificate.Organization))See also
- PySide6.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 PySide6.QtNetwork.QSslCertificate.importPkcs12(device, key, cert[, caCertificates=None[, passPhrase=QByteArray()]])#
- Parameters:
device –
PySide6.QtCore.QIODevice
caCertificates –
QList
passPhrase –
PySide6.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 single key
, its certificate
and any associated caCertificates
from the bundle. If a passPhrase
is specified then this will be used to decrypt the bundle. Returns true
if the PKCS#12 file was successfully loaded.
Note
The device
must be open and ready to be read from.
- PySide6.QtNetwork.QSslCertificate.isBlacklisted()#
- Return type:
bool
Returns true
if this certificate is blacklisted; otherwise returns false
.
See also
- PySide6.QtNetwork.QSslCertificate.isNull()#
- Return type:
bool
Returns true
if this is a null certificate (i.e., a certificate with no contents); otherwise returns false
.
By default, QSslCertificate
constructs a null certificate.
See also
- PySide6.QtNetwork.QSslCertificate.isSelfSigned()#
- Return type:
bool
Returns true
if this certificate is self signed; otherwise returns false
.
A certificate is considered self-signed its issuer and subject are identical.
- PySide6.QtNetwork.QSslCertificate.issuerDisplayName()#
- Return type:
str
Returns a name that describes the issuer. It returns the CommonName
if available, otherwise falls back to the first Organization
or the first OrganizationalUnitName
.
See also
- PySide6.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 for subject
in the certificate. There can be more than one entry of each type.
See also
- PySide6.QtNetwork.QSslCertificate.issuerInfo(attribute)
- Parameters:
attribute –
PySide6.QtCore.QByteArray
- Return type:
list of strings
Returns the issuer information for attribute
from the certificate, or an empty list if there is no information for attribute
in the certificate. There can be more than one entry for an attribute.
See also
- PySide6.QtNetwork.QSslCertificate.issuerInfoAttributes()#
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
- PySide6.QtNetwork.QSslCertificate.__ne__(other)#
- Parameters:
- Return type:
bool
Returns true
if this certificate is not the same as other
; otherwise returns false
.
- PySide6.QtNetwork.QSslCertificate.__eq__(other)#
- Parameters:
- Return type:
bool
Returns true
if this certificate is the same as other
; otherwise returns false
.
- PySide6.QtNetwork.QSslCertificate.publicKey()#
- Return type:
Returns the certificate subject’s public key.
- PySide6.QtNetwork.QSslCertificate.serialNumber()#
- Return type:
Returns the certificate’s serial number string in hexadecimal format.
- PySide6.QtNetwork.QSslCertificate.subjectAlternativeNames()#
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
- PySide6.QtNetwork.QSslCertificate.subjectDisplayName()#
- Return type:
str
Returns a name that describes the subject. It returns the CommonName
if available, otherwise falls back to the first Organization
or the first OrganizationalUnitName
.
See also
- PySide6.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 for subject
in the certificate. There can be more than one entry of each type.
See also
- PySide6.QtNetwork.QSslCertificate.subjectInfo(attribute)
- Parameters:
attribute –
PySide6.QtCore.QByteArray
- Return type:
list of strings
Returns the subject information for attribute
, or an empty list if there is no information for attribute
in the certificate. There can be more than one entry for an attribute.
See also
- PySide6.QtNetwork.QSslCertificate.subjectInfoAttributes()#
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
- PySide6.QtNetwork.QSslCertificate.swap(other)#
- Parameters:
Swaps this certificate instance with other
. This function is very fast and never fails.
- PySide6.QtNetwork.QSslCertificate.toDer()#
- Return type:
Returns this certificate converted to a DER (binary) encoded representation.
- PySide6.QtNetwork.QSslCertificate.toPem()#
- Return type:
Returns this certificate converted to a PEM (Base64) encoded representation.
- PySide6.QtNetwork.QSslCertificate.toText()#
- Return type:
str
Returns this certificate converted to a human-readable text representation.
- static PySide6.QtNetwork.QSslCertificate.verify(certificateChain[, hostName=""])#
- Parameters:
certificateChain –
hostName – str
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. If hostName
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.
- PySide6.QtNetwork.QSslCertificate.version()#
- Return type:
Returns the certificate’s version string.