synta 0.1.6

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


All OID constants in `synta.cms` are `ObjectIdentifier` instances (frozen, hashable).

## Content-type OIDs (RFC 5652 §14)

| Constant | OID | Name |
|---|---|---|
| `ID_DATA` | `1.2.840.113549.1.7.1` | id-data |
| `ID_SIGNED_DATA` | `1.2.840.113549.1.7.2` | id-signedData |
| `ID_ENVELOPED_DATA` | `1.2.840.113549.1.7.3` | id-envelopedData |
| `ID_DIGESTED_DATA` | `1.2.840.113549.1.7.5` | id-digestedData |
| `ID_ENCRYPTED_DATA` | `1.2.840.113549.1.7.6` | id-encryptedData |
| `ID_CT_AUTH_DATA` | `1.2.840.113549.1.9.16.1.2` | id-ct-authData |

## Content-encryption algorithm OIDs (RFC 3565)

Passed as `algorithm_oid` to `EncryptedData.create`; also returned by the
`content_encryption_algorithm_oid` property.

| Constant | OID | Key length |
|---|---|---|
| `ID_AES128_CBC` | `2.16.840.1.101.3.4.1.2` | 16 bytes |
| `ID_AES192_CBC` | `2.16.840.1.101.3.4.1.22` | 24 bytes |
| `ID_AES256_CBC` | `2.16.840.1.101.3.4.1.42` | 32 bytes |

## Key-transport algorithm OIDs (RFC 8017)

Passed as `key_wrap_oid` to `EnvelopedDataBuilder`.

| Constant | OID | Notes |
|---|---|---|
| `ID_RSAES_OAEP` | `1.2.840.113549.1.1.7` | RSA-OAEP with SHA-256 (recommended) |
| `ID_RSA_ENCRYPTION` | `1.2.840.113549.1.1.1` | RSA PKCS#1 v1.5 (legacy) |

## CMS-KEM OtherRecipientInfo OIDs (RFC 9629 §6.2)

| Constant | OID | Description |
|---|---|---|
| `ID_ORI` | `1.2.840.113549.1.9.16.13` | Root arc for OtherRecipientInfo alternatives |
| `ID_ORI_KEM` | `1.2.840.113549.1.9.16.13.3` | Identifies a `KEMRecipientInfo` |

## Import

```python
from synta.cms import (
    ID_DATA, ID_SIGNED_DATA, ID_ENVELOPED_DATA,
    ID_DIGESTED_DATA, ID_ENCRYPTED_DATA, ID_CT_AUTH_DATA,
    ID_AES128_CBC, ID_AES192_CBC, ID_AES256_CBC,
    ID_RSAES_OAEP, ID_RSA_ENCRYPTION,
    ID_ORI, ID_ORI_KEM,
)
```

ML-KEM OID constants (`ID_ML_KEM_512`, `ID_ML_KEM_768`, `ID_ML_KEM_1024`) are in
`synta.kem`; see [CMS-KEM](kem.md).

See also [Well-known OIDs](../oids/oids.md) for the full `synta.oids` catalog which
includes the CMS content-type OIDs as `CMS_DATA`, `CMS_SIGNED_DATA`, etc.