HMS-2695 feat: JWK encryption with AES-GCM #13
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implement helpers to encrypt and decrypt a JWK with AES-GCM AEAD.
EncryptJWK()
takes a raw AES encryption key plusjwk.Key
and returns the encrypted key. The key is encrypted and protected with AES-GCM. The random nonce is pre-pended to the output stream.DecryptJWK()
is the reverse operation. It takes a raw AES key and cipher text with nonce pre-pended. On success, it returns ajwk.Key
. Invalid key and tampering are detected by AEAD.Also pulls the latest
lestrrat-go/jwx@v2
go module.