@relaycorp/webcrypto-kms
Version:
WebCrypto-compatible client for Key Management Services like GCP KMS
16 lines • 854 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyAsymmetricSignature = exports.PLAINTEXT = void 0;
const crypto_1 = require("crypto");
const webcrypto_1 = require("../testUtils/webcrypto");
const asn1_1 = require("../testUtils/asn1");
exports.PLAINTEXT = Buffer.from('this is the plaintext');
async function verifyAsymmetricSignature(publicKey, signature, plaintext) {
const verify = (0, crypto_1.createVerify)('sha256');
verify.update(plaintext);
verify.end();
const publicKeyDer = await (0, webcrypto_1.derSerializePublicKey)(publicKey);
return verify.verify({ key: (0, asn1_1.derPublicKeyToPem)(publicKeyDer), padding: crypto_1.constants.RSA_PKCS1_PSS_PADDING }, new Uint8Array(signature));
}
exports.verifyAsymmetricSignature = verifyAsymmetricSignature;
//# sourceMappingURL=utils.js.map