Skip to content

feat: externalize config#4

Merged
svandenakker merged 1 commit intomasterfrom
sra/externalize-config
Sep 9, 2024
Merged

feat: externalize config#4
svandenakker merged 1 commit intomasterfrom
sra/externalize-config

Conversation

@svandenakker
Copy link
Copy Markdown
Member

This commit adds the ability for a user to specify the algorithm/mode of operation/padding directly in their application.yml. This is pretty flexible and allows the user easy access to many JCA "transformations" without them needing to write any code. A new, incompatible format for the encrypted binary blob is introduced to achieve this. The versioned format allows us to make continuous improvements to it without rendering all previous outputs undecryptable. Provisions were made for version-1 outputs: these can still be decrypted. When migrating from version 1 to version 2, legacy key versions should be marked as such in the config. These key versions are then only allowed to decrypt: no new encryptions can be performed with them.

Comment thread README.md
Comment thread README.md
Comment thread README.md
Comment thread README.md
Comment thread README.md Outdated
Comment thread README.md
Comment thread README.md
Comment thread src/main/java/com/bol/crypt/KeyVersion.java
Comment thread src/main/java/com/bol/crypt/KeyVersion.java
Comment thread src/test/java/com/bol/crypt/CryptVaultTest.java
@svandenakker svandenakker force-pushed the sra/externalize-config branch from 1a8f1af to 9570511 Compare September 9, 2024 14:29
This commit adds the ability for a user to specify the algorithm/mode of
operation/padding directly in their `application.yml`. This is pretty
flexible and allows the user easy access to many JCA "transformations"
without them needing to write any code. A new, incompatible format for
the encrypted binary blob is introduced to achieve this. The versioned
format allows us to make continuous improvements to it without rendering
all previous outputs undecryptable. Provisions were made for version-1
outputs: these can still be decrypted. When migrating from version 1 to
version 2, legacy key versions should be marked as such in the config.
These key versions are then only allowed to decrypt: no new encryptions
can be performed with them.
@svandenakker svandenakker force-pushed the sra/externalize-config branch from 9570511 to 87bf653 Compare September 9, 2024 14:33
@svandenakker svandenakker merged commit 87bf653 into master Sep 9, 2024
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.

2 participants