Как указать сертификат JWKS для шифрования в node-jose
Я пытаюсь настроить node-jose для использования сертификата jwks от места назначения, но я борюсь за то, чтобы node-jose использовал сертификат. Сертификат jwks выглядит так:
{
"kid": "aaaa",
"kty": "RSA",
"alg": "RS384",
"exp": REDACTEDNUMBER10YEARSAWAY,
"n": "q_REDACTED",
"e": "AXXX",
"use" : "enc",
"x5c": ["MIIDAzREDACTED"]
},
Вот как я пытаюсь настроить node-jose и зашифровать a a jwt (в асинхронной функции):
ks = await jose.JWK.asKeyStore([{
kid: "aaaa",
kty: "RSA",
alg: "RS384",
use: "enc",
n: "q_REDACTED",
e: "AXXX",
x5c: ["MIIDAzREDACTED"]
}]);
ejwt = await jose.JWE.createEncrypt(
{format: 'compact'},
{
key: ks.get("aaaa"),
header: {alg: "RS384", use: "enc" }
}
);
// createEncrypt doesn't resolve key.
Использование этого для хранилища ключей работает:
ks = await jose.JWK.asKeyStore([{
kid: 'mykey',
kty: 'oct',
k: 'randomkey',
use: 'enc'
}]);
// works with createEncrypt using header: { alg: 'dir', use: 'enc' }