covid-certificate
Version:
Parse and verify a european digital covid certificate (dcc)
34 lines (33 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractAlgorithm = exports.extractKid = void 0;
const extractHeader_1 = require("./extractHeader");
const header_1 = require("../header");
/**
* Extract kid
*
* @param protectedHeaders
* @param unprotectedHeaders
*/
const extractKid = (protectedHeaders, unprotectedHeaders) => {
const kid = (0, extractHeader_1.extractHeader)(protectedHeaders, unprotectedHeaders, header_1.Header.kid);
if (!Buffer.isBuffer(kid)) {
throw new Error("kid header is not a buffer");
}
return kid.toString("base64");
};
exports.extractKid = extractKid;
/**
* Extract algorithm
*
* @param protectedHeaders
* @param unprotectedHeaders
*/
const extractAlgorithm = (protectedHeaders, unprotectedHeaders) => {
const alg = (0, extractHeader_1.extractHeader)(protectedHeaders, unprotectedHeaders, header_1.Header.algorithm);
if (typeof alg !== "number") {
throw new Error("Algorithm header is not a number");
}
return alg;
};
exports.extractAlgorithm = extractAlgorithm;