synta 0.2.2

ASN.1 parser, decoder, and encoder library with DER/BER support and C FFI
Documentation
# Summary

[Introduction](README.md)

# Rust API

- [Overview]rust/src/README.md
- [API reference for Rust crates]api-reference.md
- [Installation]rust/src/getting-started/installation.md
- [Quick Start]rust/src/getting-started/quickstart.md
- [Decoding]rust/src/tutorial/decoding.md
  - [Encoding]rust/src/tutorial/encoding.md
  - [PKI Workflow]rust/src/tutorial/pki-workflow.md
- [Overview]rust/src/codegen/overview.md
  - [Type Mappings]rust/src/codegen/type-mappings.md
    - [Naming Conventions]rust/src/codegen/naming.md
    - [Owned vs Borrowed Types]rust/src/codegen/owned-vs-borrowed.md
  - [Optional and Default Fields]rust/src/codegen/optional-default.md
    - [Tagged Fields]rust/src/codegen/tagged-fields.md
    - [Constraints]rust/src/codegen/constraints.md
  - [Imports]rust/src/codegen/imports.md
    - [no_std Support]rust/src/codegen/no-std.md
- [Primitive Types]rust/src/asn1/primitives.md
  - [String Types]rust/src/asn1/strings.md
  - [Constructed Types]rust/src/asn1/constructed.md
    - [Tagged Types]rust/src/asn1/tagged.md
  - [Known Limitations]rust/src/asn1/limitations.md
- [Certificate]rust/src/pki/certificate.md
  - [CSR, CRL, and OCSP]rust/src/pki/csr-crl-ocsp.md
  - [Keys]rust/src/pki/keys.md
  - [Extensions]rust/src/pki/extensions.md
  - [X.509 Path Validation]rust/src/pki/verification.md
- [Best Practices]rust/src/best-practices.md
  - [API Reference]rust/src/api-reference.md
    - [Troubleshooting]rust/src/troubleshooting.md
- [From OpenSSL]rust/src/migration/from-openssl.md
  - [From libtasn1]rust/src/migration/from-libtasn1.md
- [Example Programs]rust/src/examples/index.md
  - [1. `decode_integer.rs`]rust/src/examples/decode_integer.md
  - [2. `encode_sequence.rs`]rust/src/examples/encode_sequence.md
  - [3. `oid_usage.rs`]rust/src/examples/oid_usage.md
  - [4. `parse_certificate.rs`]rust/src/examples/parse_certificate.md
  - [5. `derive_usage.rs`]rust/src/examples/derive_usage.md
  - [6. `serde_usage.rs`]rust/src/examples/serde_usage.md
  - [7. `serde_cert.rs`]rust/src/examples/serde_cert.md
  - [8. `asn1parse.rs`]rust/src/examples/asn1parse.md
  - [9. `generate_test_cert.rs`]rust/src/examples/generate_test_cert.md
  - [10. `profile_cert_parse.rs`]rust/src/examples/profile_cert_parse.md
  - [11. `sequenceof_benchmark.rs`]rust/src/examples/sequenceof_benchmark.md
  - [12. `name_constraints.rs`]rust/src/examples/name_constraints.md

# C Bindings

- [Overview]c/src/README.md
- [Installation and Linking]c/src/getting-started/installation.md
- [Quick Start]c/src/getting-started/quickstart.md
- [Codegen Overview]c/src/codegen/overview.md
  - [Type Mappings]c/src/codegen/type-mappings.md
    - [Optional Fields]c/src/codegen/optional-fields.md
    - [Tagged Fields]c/src/codegen/tagged-fields.md
  - [CHOICE Dispatch]c/src/codegen/choice.md
    - [Constraints]c/src/codegen/constraints.md
  - [Arena Allocator]c/src/codegen/arena-allocator.md
    - [Build Integration]c/src/codegen/build-integration.md
- [API Overview]c/src/api/overview.md
  - [Error Handling]c/src/api/errors.md
  - [Decoder]c/src/api/decoder.md
    - [Encoder]c/src/api/encoder.md
    - [Types]c/src/api/types.md
  - [X.509 PKI]c/src/api/pki.md
    - [CMS]c/src/api/cms.md
- [Ownership and Lifetimes]c/src/memory.md
- [Example Programs]c/src/examples/index.md

# Python Bindings

- [Overview]python/src/README.md
- [Installation and Building]python/src/getting-started/installation.md
- [Quick Start]python/src/getting-started/quickstart.md
- [Module Layout]python/src/getting-started/module-layout.md
- [Encoding Rules: DER, BER, CER]python/src/core/encoding-rules.md
  - [Decoder]python/src/core/decoder.md
  - [Encoder]python/src/core/encoder.md
  - [Primitive Types]python/src/core/primitive-types.md
    - [Numeric Types: Integer, Real, Boolean, Null]python/src/core/types-numeric.md
    - [String Types]python/src/core/types-strings.md
    - [Time Types: UtcTime and GeneralizedTime]python/src/core/types-time.md
    - [Bit and Octet Strings]python/src/core/types-bitoctet.md
    - [Tagged and Raw Elements]python/src/core/types-tagged.md
  - [ObjectIdentifier]python/src/core/objectidentifier.md
  - [Error Handling]python/src/core/errors.md
  - [Schema Decorators: synta.schema]python/src/core/schema.md
- [PEM and DER Helpers]python/src/pki/pem-der.md
  - [Certificate]python/src/pki/certificate.md
    - [CertificationRequest (CSR)]python/src/pki/csr.md
    - [CertificateList (CRL)]python/src/pki/crl.md
    - [OCSPResponse]python/src/pki/ocsp.md
    - [PublicKey and PrivateKey]python/src/pki/keys.md
  - [PKCS#7 and PKCS#12 Loaders]python/src/pki/pkcs-loaders.md
    - [Format-agnostic PKI Reader]python/src/pki/pki-blocks.md
  - [GeneralName and SAN]python/src/pki/general-name.md
    - [X.509 Extension Value Builders]python/src/pki/ext-builders.md
    - [CRL and OCSP Response Builders]python/src/pki/crl-ocsp-builders.md
  - [PyCA Interoperability]python/src/pki/pyca-interop.md
  - [X.509 Path Validation]python/src/pki/x509-verification.md
- [CMS Overview]python/src/cms/overview.md
  - [ContentInfo]python/src/cms/content-info.md
  - [SignedData and SignerInfo]python/src/cms/signed-data.md
    - [DigestedData and AuthenticatedData]python/src/cms/digested-authenticated.md
  - [EnvelopedData and EnvelopedDataBuilder]python/src/cms/enveloped-data.md
    - [EncryptedData]python/src/cms/encrypted-data.md
    - [CMS-KEM: synta.kem]python/src/cms/kem.md
  - [CMS OID Constants]python/src/cms/oid-constants.md
- [Kerberos V5 and PKINIT]python/src/protocols/krb5.md
  - [Krb5PrincipalName]python/src/protocols/krb5-principal.md
  - [PKINIT Protocol Types]python/src/protocols/krb5-pkinit.md
  - [RFC 3279 Algorithm Parameters]python/src/protocols/pkixalgs.md
    - [Attribute Certificates]python/src/protocols/ac.md
    - [Microsoft PKI Extensions]python/src/protocols/ms-pki.md
  - [CRMF Messages]python/src/protocols/crmf.md
    - [CMP Messages]python/src/protocols/cmp.md
  - [PKCS#8 Private Key Envelope]python/src/protocols/pkcs8.md
  - [SPNEGO Negotiation Tokens]python/src/protocols/spnego.md
  - [Merkle Tree Certificates]python/src/protocols/mtc.md
- [Well-known OIDs]python/src/oids/oids.md
  - [DN Attribute OIDs]python/src/oids/oids-attr.md
  - [PKCS#9 Attribute OIDs]python/src/oids/pkcs9.md
- [Performance Benchmarks]python/src/dev/performance.md
- [Development Workflow]python/src/dev/development.md
  - [Project Structure]python/src/dev/project-structure.md
  - [Cargo Features]python/src/dev/cargo-features.md
- [Example Programs]python/src/examples/index.md
  - [1. `example_pem_helpers.py`]python/src/examples/example_pem_helpers.md
  - [2. `example_certificate_fields.py`]python/src/examples/example_certificate_fields.md
  - [3. `example_certificate_extensions.py`]python/src/examples/example_certificate_extensions.md
  - [4. `example_certificate_pyca.py`]python/src/examples/example_certificate_pyca.md
  - [5. `example_csr.py`]python/src/examples/example_csr.md
  - [6. `example_certificate_builder.py`]python/src/examples/example_certificate_builder.md
  - [7. `example_crl.py`]python/src/examples/example_crl.md
  - [8. `example_ocsp.py`]python/src/examples/example_ocsp.md
  - [9. `example_pkcs7.py`]python/src/examples/example_pkcs7.md
  - [10. `example_pkcs12.py`]python/src/examples/example_pkcs12.md
  - [11. `example_pki_blocks.py`]python/src/examples/example_pki_blocks.md
  - [12. `example_objectidentifier.py`]python/src/examples/example_objectidentifier.md
  - [13. `example_oids_catalog.py`]python/src/examples/example_oids_catalog.md
  - [14. `example_time_types.py`]python/src/examples/example_time_types.md
  - [15. `example_integer_advanced.py`]python/src/examples/example_integer_advanced.md
  - [16. `example_string_types_advanced.py`]python/src/examples/example_string_types_advanced.md
  - [17. `example_decoder_advanced.py`]python/src/examples/example_decoder_advanced.md
  - [18. `example_encoder_advanced.py`]python/src/examples/example_encoder_advanced.md
  - [19. `example_krb5_principal.py`]python/src/examples/example_krb5_principal.md
  - [20. `example_krb5_pkinit.py`]python/src/examples/example_krb5_pkinit.md
  - [21. `example_error_handling.py`]python/src/examples/example_error_handling.md
  - [22. `example_cms_encrypted_data.py`]python/src/examples/example_cms_encrypted_data.md
  - [23. `example_x509_verify.py`]python/src/examples/example_x509_verify.md
  - [24. `example_general_name.py`]python/src/examples/example_general_name.md
  - [25. `example_pkixalgs.py`]python/src/examples/example_pkixalgs.md
  - [26. `example_ac.py`]python/src/examples/example_ac.md
  - [27. `example_ms_pki.py`]python/src/examples/example_ms_pki.md
  - [28. `example_spnego.py`]python/src/examples/example_spnego.md
  - [29. `example_crmf.py`]python/src/examples/example_crmf.md
  - [30. `example_cmp.py`]python/src/examples/example_cmp.md
  - [31. `example_mtc.py`]python/src/examples/example_mtc.md
  - [32. `example_name_constraints.py`]python/src/examples/example_name_constraints.md
  - [33. `example_acme_rfc8737.py`]python/src/examples/example_acme_rfc8737.md
  - [34. `example_schema.py`]python/src/examples/example_schema.md

# Performance

- [Overview]perf/src/README.md
- [Quick Reference]perf/src/quick-reference.md
- [Parse Only]perf/src/library-comparison/parse-only.md
- [Parse + All Fields]perf/src/library-comparison/parse-fields.md
- [Post-Quantum Certificates]perf/src/library-comparison/post-quantum.md
- [Certificate Size Scalability]perf/src/scalability.md
- [Element vs Typed API]perf/src/api-overhead.md
- [PKCS#7 and PKCS#12]perf/src/pkcs-formats.md
- [CA Store Benchmarks]perf/src/ca-stores.md
- [MTC Pipeline]perf/src/pipeline/mtc.md
- [X.509 PKI Pipeline]perf/src/pipeline/x509.md
- [Classic vs Post-Quantum]perf/src/pipeline/pq-comparison.md
- [ASN.1 Primitive Performance]perf/src/primitive-asn1.md
- [Competing Libraries]perf/src/competing-libraries.md

# Reference

- [ASN.1 Limitations]limitations.md
- [Post-Quantum OIDs]POST_QUANTUM_OIDS.md
- [Contributing]contribution.md
- [System Architecture]system-architecture.md
- [Codebase Summary]codebase-summary.md
- [Testing Guide]testing-guide.md
- [Deployment Guide]deployment-guide.md