Skip to main content

durable_queue_encryption 0.1.0 copy "durable_queue_encryption: ^0.1.0" to clipboard
durable_queue_encryption: ^0.1.0 copied to clipboard

Encrypts durable_queue task payloads and error messages at rest with AES-256-GCM. Wraps any storage, including SQLite.

0.1.0 #

  • Initial release.
  • EncryptedQueueStorage: wraps any QueueStorage and encrypts each task's payload and last error message and stack trace, with the task id as associated data. Deduplication keys and groups are stored as HMAC-SHA256 tags for lookups and restored on read (protectLookupKeys, on by default).
  • AesGcmCipher: AES-256-GCM with a random nonce per write, subkeys derived with HMAC-SHA256, generateKey(), and key rotation through previousKeys.
  • PayloadCipher: the interface for other ciphers.
  • Tasks stored before encryption are still read (readPlaintext); reencryptAll() encrypts them, or moves every task to a new key.
  • PayloadDecryptionException for records that cannot be decrypted, and unreadableTaskIds() to find them after a key is lost.
  • Tested with the shared storage contract over memory and SQLite storage, and against data encrypted by an independent AES-GCM implementation.
0
likes
160
points
0
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Encrypts durable_queue task payloads and error messages at rest with AES-256-GCM. Wraps any storage, including SQLite.

Repository (GitHub)
View/report issues
Contributing

Topics

#queue #encryption #security #offline #persistence

License

MIT (license)

Dependencies

crypto, cryptography, durable_queue

More

Packages that depend on durable_queue_encryption