44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
|
|
File ext: `*.tinyenc`
|
|
|
|
File format:
|
|
|
|
```text
|
|
[TAG; 2 bytes; short; BE; Always 1]
|
|
[LENGTH; 4 bytes; int; BE]
|
|
[META; LENGTH bytes]
|
|
[ENCRYPTED_DATA; n bytes; AES/GCM]
|
|
```
|
|
|
|
Meta format:
|
|
|
|
| Field | Type | Comment |
|
|
|---------------------|-----------|----------------------------------------------|
|
|
| version | String | Constant value: `1.1` |
|
|
| created | Long | Created time, Unix Epoch |
|
|
| userAgent | String | User Agent, e.g. `TinyEncrypt v0.5.1@MacOS` |
|
|
| comment | String | `optional` Plain text comment |
|
|
| encryptedComment | String | `optional` Encrypted comment |
|
|
| encryptedMeta | String | `optional` Encrypted Meta Data |
|
|
| pgpEnvelop | String | `deprecated` PGP Publickey Encrypted DataKey |
|
|
| pgpFingerprint | String | `deprecated` Hex(Sha256(PGP Publickey)) |
|
|
| ageEnvelop | String | `deprecated` PGP Publickey Encrypted DataKey |
|
|
| ageRecipient | String | `deprecated` age1*** |
|
|
| ecdhEnvelop | String | `deprecated` KW:*** |
|
|
| ecdhPoint | String | `deprecated` 02*** |
|
|
| envelop | String | `deprecated` KMS Encrypted DataKey |
|
|
| envelops | Envelop[] | Envelop Array |
|
|
| encryptionAlgorithm | String | `optional` Default `AES/GCM` |
|
|
| nonce | String | `base64` GCM Nonce |
|
|
| fileLength | Long | File Length |
|
|
| fileLastModified | Long | File Last Modified, Unix Epoch |
|
|
| compress | Boolean | Compressed or Not, GZIP if `true` |
|
|
|
|
Envelop format:
|
|
|
|
| Field | Type | Comment |
|
|
|--------------|--------|----------------------------------------|
|
|
| type | String | Type: `kms`, `pgp`, `age`, `ecdh`, ... |
|
|
| kid | String | Key ID |
|
|
| desc | String | `optional` Description |
|
|
| encryptedKey | String | `base64` Encrypted Key | |