Skip to main content

Module cert_builder

Module cert_builder 

Source
Expand description

Python bindings for building X.509 certificates natively.

Delegates all DER construction and signing to synta_certificate::builder::CertificateBuilder. OpenSSL is only used for the signing step; all ASN.1 encoding is done inside the Rust builder.

§Chaining

Each setter returns the same CertificateBuilder object, enabling a single-expression build:

import synta, datetime

cert = (
    synta.CertificateBuilder()
    .issuer_name(ca_cert.subject_raw_der)      # zero re-encode
    .subject_name(csr.subject_raw_der)         # zero re-encode
    .public_key_der(csr.subject_public_key_info_der)  # zero re-encode
    .serial_number(42)
    .not_valid_before_utc(datetime.datetime(2024, 1, 1, tzinfo=datetime.timezone.utc))
    .not_valid_after_utc(datetime.datetime(2025, 1, 1, tzinfo=datetime.timezone.utc))
    .add_extension("2.5.29.19", True, basic_constraints_der)
    .sign(ca_key, "sha256")
)

Structs§

PyCertificateBuilder
Builder for X.509 v3 certificates.