Cargo Features
The synta-python crate exposes the following Cargo features:
| Feature | Default | Description |
|---|---|---|
extension-module | yes (maturin) | Required by PyO3 for native extension module builds; set automatically by maturin |
abi3-py38 | yes (maturin) | Targets the stable Python 3.8 ABI; compatible with CPython 3.8–3.14+ |
openssl | yes | OpenSSL-backed crypto: PKCS#12 decryption (load_pkcs12_certificates with password, create_pkcs12 with password), CMS EnvelopedData.create / EnvelopedDataBuilder.build, EncryptedData.create / decrypt, PrivateKey.to_pkcs8_encrypted / from_pkcs8_encrypted, synta.x509 chain verification |
deprecated-pkcs12-algorithms | no | Enables legacy PKCS#12 decryption algorithms (3DES, RC2) — requires openssl |
Crate dependencies
| Crate | Role |
|---|---|
synta | Core ASN.1 encoder/decoder |
synta-certificate | X.509 PKI types + OID constants + OpenSSL signature verifier |
synta-krb5 | Kerberos V5 / PKINIT types |
synta-x509-verification | RFC 5280 / CABF certificate chain validation (synta.x509) |
pyo3 0.26 | Python/Rust interop (abi3-py38 feature) |
openssl 0.10 | OpenSSL bindings for signature verification (synta.x509, synta.cms) |
Building with optional features
# Default build (includes openssl feature)
maturin develop
# Build without openssl (disables PKCS#12 password support, x509 verification, CMS crypto)
maturin develop --no-default-features --features extension-module,abi3-py38
# Build with legacy PKCS#12 algorithm support
maturin develop --features deprecated-pkcs12-algorithms
See Installation for standard build instructions and Development for test and benchmark workflows.