Skip to content

Encryption Middleware #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

apps-caraga
Copy link
Owner

EncryptionMiddleware provides transparent, encryption and decryption of specified columns in your API requests and responses.

Note: Encryption is global. All specified columns are encrypted and decrypted using the same set of keys and versioning, not per-user or per-tenant.

Features

  • AES-256-CBC encryption for specified columns
  • Key versioning and rotation support
  • Works for both single and batch record operations
  • Transparent: encrypts on create/update, decrypts on read/list

Configuration

  • You must provide the following properties:
    • keyVersions: JSON object mapping version names to encryption keys (each key must be at least 32 characters)
    • activeVersion: The version name to use for new encryptions - columns: Comma-separated list of columns to encrypt, in the format table.column

`EncryptionMiddleware` provides transparent, encryption and decryption of specified columns in your API requests and responses. 

**Note:** Encryption is global. All specified columns are encrypted and decrypted using the same set of keys and versioning, not per-user or per-tenant.

## Features
- AES-256-CBC encryption for specified columns
- Key versioning and rotation support
- Works for both single and batch record operations
- Transparent: encrypts on create/update, decrypts on read/list

 **Configuration**
   - You must provide the following properties:
     - `keyVersions`: JSON object mapping version names to encryption keys (each key must be at least 32 characters)
     - `activeVersion`: The version name to use for new encryptions
     - `columns`: Comma-separated list of columns to encrypt, in the format `table.column`
Added loading of encryption middlewre
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant