Skip to content

Instantly share code, notes, and snippets.

@steverhall
Last active May 10, 2021 16:47
Show Gist options
  • Save steverhall/bb93cde348097e8ee02f9f6cd0bc4a81 to your computer and use it in GitHub Desktop.
Save steverhall/bb93cde348097e8ee02f9f6cd0bc4a81 to your computer and use it in GitHub Desktop.
Create a JWK
import jose, { JWK } from 'node-jose';
const encryptionKeyProps = {
"kty": "EC",
"crv": "P-256",
"alg": 'ECDH-ES',
"use": "enc"
}
const signingKeyProps = {
"kty": "EC",
"crv": "P-256",
"alg": 'ES256',
"use": "sig"
}
async function generate() {
let sign = await jose.JWK.createKey("EC", "P-256", signingKeyProps);
let encrypt = await jose.JWK.createKey("EC", "P-256", encryptionKeyProps);
console.log(JSON.stringify({
keys: [
sign.toJSON(true),
encrypt.toJSON(true),
]
}, null, 2));
console.log('--------PEM---------');
console.log(sign.toPEM(true));
console.log('---------THUMBPRINT--------');
console.log(sign.thumbprint);
}
generate();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment