ECDSA: Output keys as JSONWebKeySet instead of two JWK
This commit is contained in:
parent
1fbc7e03f0
commit
7e7195c291
@ -75,17 +75,21 @@ class GenerateECDSAKeyPair extends Operation {
|
|||||||
let result;
|
let result;
|
||||||
switch (outputFormat) {
|
switch (outputFormat) {
|
||||||
case "PEM":
|
case "PEM":
|
||||||
pubKey = r.KEYUTIL.getPEM(keyPair.pubKeyObj);
|
pubKey = r.KEYUTIL.getPEM(keyPair.pubKeyObj).replace(/\r/g, "");
|
||||||
privKey = r.KEYUTIL.getPEM(keyPair.prvKeyObj, "PKCS8PRV");
|
privKey = r.KEYUTIL.getPEM(keyPair.prvKeyObj, "PKCS8PRV").replace(/\r/g, "");
|
||||||
result = pubKey + "\n" + privKey;
|
result = pubKey + "\n" + privKey;
|
||||||
break;
|
break;
|
||||||
case "DER":
|
case "DER":
|
||||||
result = keyPair.prvKeyObj.prvKeyHex;
|
result = keyPair.prvKeyObj.prvKeyHex;
|
||||||
break;
|
break;
|
||||||
case "JWK":
|
case "JWK":
|
||||||
pubKey = JSON.stringify(r.KEYUTIL.getJWKFromKey(keyPair.pubKeyObj));
|
pubKey = r.KEYUTIL.getJWKFromKey(keyPair.pubKeyObj);
|
||||||
privKey = JSON.stringify(r.KEYUTIL.getJWKFromKey(keyPair.prvKeyObj));
|
pubKey.key_ops = ["verify"]; // eslint-disable-line camelcase
|
||||||
result = pubKey + "\n\n" + privKey;
|
pubKey.kid = "PublicKey";
|
||||||
|
privKey = r.KEYUTIL.getJWKFromKey(keyPair.prvKeyObj);
|
||||||
|
privKey.key_ops = ["sign"]; // eslint-disable-line camelcase
|
||||||
|
privKey.kid = "PrivateKey";
|
||||||
|
result = JSON.stringify({keys: [privKey, pubKey]}, null, 4);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user