tiny_ca.models package¶
- class tiny_ca.models.CAConfig(**data)[source]¶
Bases:
BaseCertificateConfig,BaseCertificateDataModelComplete configuration for bootstrapping a self-signed root CA certificate.
Combines all Subject identity fields (
BaseCertificateDataModel) with the cryptographic validity parameters (BaseCertificateConfig). Passed directly toCertificateFactory.build_self_signed_caviaconfig.model_dump().Inherited attributes¶
- common_namestr
CN for the CA. Default:
"Internal CA".- organizationstr
O field. Default:
"My Company".- countrystr
C field (ISO 3166-1 alpha-2). Default:
"UA".- key_sizeint
RSA key size in bits. Default:
2048.- days_validint
Validity in days. Default:
3650.- valid_fromdatetime | None
Explicit validity start;
Noneuses current UTC. Default:None.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tiny_ca.models.ClientConfig(**data)[source]¶
Bases:
CommonNameCertificate,BaseCertificateConfigConfiguration for issuing an end-entity (client or server) certificate.
Passed to
CertificateFactory.issue_certificateviaconfig.model_dump(exclude={"name"}).- Parameters:
- common_name¶
CN for the certificate Subject. Inherited from
CommonNameCertificate. Default:"Internal CA".- Type:
- valid_from¶
Explicit validity start. Default:
None.- Type:
datetime | None
- serial_type¶
Certificate category used when encoding the serial number. Default:
CertType.SERVICE.- Type:
- is_client_cert¶
When
True,ClientAuthis added to the Extended Key Usage extension. Default:False.- Type:
- is_server_cert¶
When
True,ServerAuthis added to the Extended Key Usage extension and the CN is included as a DNS Subject Alternative Name (RFC 2818 compliance). Default:True.- Type:
- san_dns¶
Additional DNS names for the Subject Alternative Name extension. Default:
None.
- san_ip¶
IP addresses for the Subject Alternative Name extension. Accepts both IPv4 and IPv6. Default:
None.- Type:
list[IPvAnyAddress] | None
- email¶
Optional email address added as an
emailAddressSubject attribute. Must be a valid RFC 5322 address if provided. Default:None.- Type:
EmailStr | None
- name¶
Override for the output file basename used by
BaseStorage. WhenNone, the storage layer derives the name from common_name. This field is excluded frommodel_dumpcalls to the factory. Default:None.- Type:
str | None
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- san_ip: list[IPvAnyAddress] | None¶
Submodules¶
- tiny_ca.models.certificate module
- Class hierarchy
BaseCertificateConfigBaseCertificateDataModelCAConfigCertificateDetailsCertificateDetails.common_nameCertificateDetails.countryCertificateDetails.extended_key_usageCertificateDetails.fingerprint_sha256CertificateDetails.is_caCertificateDetails.issuer_cnCertificateDetails.key_usageCertificateDetails.model_configCertificateDetails.not_valid_afterCertificateDetails.not_valid_beforeCertificateDetails.organizationCertificateDetails.public_key_sizeCertificateDetails.san_dnsCertificateDetails.san_ipCertificateDetails.serial_numberCertificateDetails.subject_key_identifier
CertificateInfoCertificateInfo.organizationCertificateInfo.organizational_unitCertificateInfo.countryCertificateInfo.stateCertificateInfo.localityCertificateInfo.countryCertificateInfo.localityCertificateInfo.model_configCertificateInfo.organizationCertificateInfo.organizational_unitCertificateInfo.state
ClientConfigClientConfig.common_nameClientConfig.key_sizeClientConfig.days_validClientConfig.valid_fromClientConfig.serial_typeClientConfig.is_client_certClientConfig.is_server_certClientConfig.san_dnsClientConfig.san_ipClientConfig.emailClientConfig.nameClientConfig.emailClientConfig.is_client_certClientConfig.is_server_certClientConfig.model_configClientConfig.nameClientConfig.san_dnsClientConfig.san_ipClientConfig.serial_type
CommonNameCertificate