KMS integration with AWS Key Management Service #1316
panva
started this conversation in
Community Guides
Replies: 1 comment 5 replies
|
Currently this requires the key to be available before the server can start, since the config for jwks.keys needs to be synchronously available. Since ExternalSigningKey.sign is already async, if ExternalSigningKey.keyObject could also be async, then app startup could proceed without being blocked until the first use of keyObject? |
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Note
Author: @panva
Target version: ^9.5.0
Warning
No guarantees this is bug-free, if you find a bug please comment on the discussion
Caution
ExternalSigningKeysupport is an experimental feature.This example enables PS256, ES256, Ed25519, and ML-DSA-44 signatures produced by private keys stored in AWS Key Management Service.
Ed25519 uses the fully specified
Ed25519JWS algorithm identifier. AWS KMS must receive the JWS Signing Input as aRAWmessage whenED25519_SHA_512is selected; pre-hashing it would produce a different signature scheme.Important
Create the Ed25519 KMS key with
KeySpec: ECC_NIST_EDWARDS25519andKeyUsage: SIGN_VERIFY. Do not substituteED25519_PH_SHA_512; Ed25519ph is not theEd25519JWS algorithm.Warning
AWS KMS accepts at most 4096 bytes in a
RAWSignrequest. Consequently, the complete JWS Signing Input for an Ed25519 signature must not exceed 4096 bytes.All reactions