UNPKG

covid-certificate

Version:

Parse and verify a european digital covid certificate (dcc)

14 lines (13 loc) 645 B
"use strict"; 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;