covid-certificate
Version:
Parse and verify a european digital covid certificate (dcc)
14 lines (13 loc) • 645 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cbor_1 = require("cbor");
const webcrypto_1 = require("@peculiar/webcrypto");
class ECDS256SignatureVerifier {
async verify(message, publicKey) {
const ToBeSigned = (0, cbor_1.encode)(message.toSign());
const crypto = new webcrypto_1.Crypto();
const pk = await crypto.subtle.importKey("spki", publicKey, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
return await crypto.subtle.verify({ name: "ECDSA", hash: "sha-256" }, pk, message.getSignature(), ToBeSigned);
}
}
exports.default = ECDS256SignatureVerifier;