Certificate¶
- class siotls.contents.handshakes.certificate.CertificateEntry¶
Abstract base class and registry for
siotls.iana.CertificateType.- certificate_type: CertificateType¶
The unique numeric identifier of the certificate type.
- extensions: dict[ExtensionType | int, Extension]¶
The extensions applied to this entry, indexed by
siotls.iana.ExtensionType.
- class siotls.contents.handshakes.certificate.CertificateHandshake¶
Certificate handshake as defined in RFC 8446 Section 4.4.2. Conveys the certificate chain or raw public key of one of the peers.
- __init__(certificate_request_context, certificate_list)¶
- Parameters:
certificate_request_context (bytes)
certificate_list (Sequence[CertificateEntry])
- certificate_list: Sequence[CertificateEntry]¶
The sequence (chain) of CertificateEntry structures, each containing a single certificate, or raw public key, with set of extensions.
Quoting RFC 8446 Section 4.4.2 (TLS 1.3 - Certificate):
Note: Prior to TLS 1.3, “certificate_list” ordering required each certificate to certify the one immediately preceding it; however, some implementations allowed some flexibility. Servers sometimes send both a current and deprecated intermediate for transitional purposes, and others are simply configured incorrectly, but these cases can nonetheless be validated properly. For maximum compatibility, all implementations SHOULD be prepared to handle potentially extraneous certificates and arbitrary orderings from any TLS version, with the exception of the end-entity certificate wich MUST be first.
- certificate_request_context: bytes¶
Additional opaque data, for Post-Handshake Authentication (RFC 8446 Section 4.6.2).
- msg_type: HandshakeType | HandshakeType_ = 11¶
The unique numeric identifier of the handshake.
- class siotls.contents.handshakes.certificate.RawPublicKeyEntry¶
An entry for a Raw Public Key (RFC 7250#).
- __init__(public_key, extensions)¶
- Parameters:
public_key (DerPublicKey)
extensions (Sequence[Extension])
- property asn1_public_key: PublicKeyInfo¶
The public key as a asn1crypto object.
- certificate_type: CertificateType = 2¶
- public_key: DerPublicKey¶
The der-encoded public key stored in this entry.
- class siotls.contents.handshakes.certificate.X509Entry¶
An entry for a X509 certificate.
- __init__(certificate, extensions)¶
- Parameters:
certificate (DerCertificate)
extensions (Sequence[Extension])
- property asn1_certificate: Certificate¶
The certificate as a asn1crypto object.
- certificate: DerCertificate¶
The der-encoded x509 certificate stored in this entry.
- certificate_type: CertificateType = 0¶