django_ca.typehints - Type aliases

Various type aliases used in throughout django-ca.

django_ca.typehints.AccessMethods

Serialized access method for AccessDescription instances.

alias of Literal[‘ocsp’, ‘ca_issuers’, ‘ca_repository’]

django_ca.typehints.AllowedHashTypes

Hash algorithms that can be used for signing certificates. NOTE: This is a duplicate of the protected cryptography.x509.base._AllowedHashTypes.

alias of Union[SHA224, SHA256, SHA384, SHA512, SHA3_224, SHA3_256, SHA3_384, SHA3_512]

class django_ca.typehints.BasicConstraintsBase
ca: bool
django_ca.typehints.GeneralNames

Valid types of general names.

alias of Literal[‘email’, ‘URI’, ‘IP’, ‘DNS’, ‘RID’, ‘dirName’, ‘otherName’]

django_ca.typehints.HashAlgorithms

Valid hash algorithm names.

These names are used in various settings, with the --algorithm command line parameter and in the API.

alias of Literal[‘SHA-224’, ‘SHA-256’, ‘SHA-384’, ‘SHA-512’, ‘SHA3/224’, ‘SHA3/256’, ‘SHA3/384’, ‘SHA3/512’]

django_ca.typehints.IPAddressType

Union of all IP address types

alias of Union[IPv4Address, IPv6Address, IPv4Network, IPv6Network]

django_ca.typehints.KeyUsages

List of possible values for KeyUsage instances.

alias of Literal[‘crl_sign’, ‘data_encipherment’, ‘decipher_only’, ‘digital_signature’, ‘encipher_only’, ‘key_agreement’, ‘key_cert_sign’, ‘key_encipherment’, ‘content_commitment’]

django_ca.typehints.LogEntryTypes

Serialized values of LogEntryType instances.

alias of Literal[‘precertificate’, ‘x509_certificate’]

django_ca.typehints.OtherNames

Valid OtherName types

alias of Literal[‘UTF8String’, ‘UNIVERSALSTRING’, ‘IA5STRING’, ‘BOOLEAN’, ‘NULL’, ‘UTCTIME’, ‘GENERALIZEDTIME’, ‘INTEGER’, ‘OctetString’]

class django_ca.typehints.ParsableAuthorityInformationAccess
issuers: Iterable[GeneralName | str] | None
ocsp: Iterable[GeneralName | str] | None
class django_ca.typehints.ParsableAuthorityKeyIdentifierDict
authority_cert_issuer: Iterable[str]
authority_cert_serial_number: int | None
key_identifier: bytes | None
class django_ca.typehints.ParsableBasicConstraints[source]

Serialized representation of a BasicConstraints extension.

A value of this type is a dictionary with a "ca" key with a boolean value. If True, it also has a "path_length" value that is either None or an int.

ca: bool
path_length: int | str
class django_ca.typehints.ParsableDistributionPoint
crl_issuer: Iterable[GeneralName | str]
full_name: Iterable[GeneralName | str] | None
reasons: Iterable[str | ReasonFlags]
relative_name: List[SerializedObjectIdentifier] | RelativeDistinguishedName
class django_ca.typehints.ParsableExtension
critical: bool
value: Any
class django_ca.typehints.ParsableNameConstraints
excluded: Iterable[GeneralName | str]
permitted: Iterable[GeneralName | str]
class django_ca.typehints.ParsableNoticeReference
notice_numbers: Iterable[int]
organization: str
class django_ca.typehints.ParsablePolicyConstraints
inhibit_policy_mapping: int
require_explicit_policy: int
class django_ca.typehints.ParsablePolicyInformation
policy_identifier: str | ObjectIdentifier
policy_qualifiers: Sequence[str | UserNotice | ParsableUserNotice] | None
class django_ca.typehints.ParsableUserNotice
explicit_text: str
notice_reference: NoticeReference | ParsableNoticeReference
class django_ca.typehints.SerializedAuthorityInformationAccess
issuers: List[str]
ocsp: List[str]
class django_ca.typehints.SerializedAuthorityKeyIdentifier
authority_cert_issuer: List[str]
authority_cert_serial_number: int
key_identifier: str
class django_ca.typehints.SerializedBasicConstraints[source]

Serialized representation of a BasicConstraints extension.

A value of this type is a dictionary with a "ca" key with a boolean value. If True, it also has a "path_length" value that is either None or an int.

ca: bool
path_length: int | None
class django_ca.typehints.SerializedDistributionPoint
crl_issuer: List[str]
full_name: List[str]
reasons: List[str]
relative_name: List[SerializedObjectIdentifier]
class django_ca.typehints.SerializedDistributionPoints
critical: bool
value: List[SerializedDistributionPoint]
class django_ca.typehints.SerializedExtension
critical: bool
value: Any
class django_ca.typehints.SerializedNameConstraints
excluded: List[str]
permitted: List[str]
class django_ca.typehints.SerializedNoticeReference
notice_numbers: List[int]
organization: str
class django_ca.typehints.SerializedNullExtension
critical: bool
class django_ca.typehints.SerializedObjectIdentifier
oid: str
value: str
class django_ca.typehints.SerializedPolicyConstraints
inhibit_policy_mapping: int
require_explicit_policy: int
class django_ca.typehints.SerializedPolicyInformation
policy_identifier: str
policy_qualifiers: List[str | SerializedUserNotice] | None
class django_ca.typehints.SerializedProfile
algorithm: Literal['SHA-224', 'SHA-256', 'SHA-384', 'SHA-512', 'SHA3/224', 'SHA3/256', 'SHA3/384', 'SHA3/512'] | None
clear_extensions: List[str]
description: str
extensions: List[SerializedPydanticExtension]
name: str
subject: List[SerializedPydanticNameAttribute] | None
class django_ca.typehints.SerializedPydanticExtension
critical: bool
type: str
value: Any
class django_ca.typehints.SerializedPydanticNameAttribute
oid: str
value: str
class django_ca.typehints.SerializedSignedCertificateTimestamp

A dictionary with four keys: log_id, timestamp, type, version, values are all str.

log_id: str
timestamp: str
type: str
version: str
class django_ca.typehints.SerializedUserNotice
explicit_text: str
notice_reference: SerializedNoticeReference
class django_ca.typehints.SupportsLessThan(*args, **kwargs)[source]

Protocol that specifies <, making something sortable.

TypeVars for generics

typehints.ExtensionTypeTypeVar = ~ExtensionTypeTypeVar

A TypeVar bound to ExtensionType.