@xevolab/jades
Version:
JAdES Digital Signatures compatible with the ETSI TS 119 182-1 Standard
43 lines (42 loc) • 1.3 kB
JavaScript
;
/*
* Author : Francesco
* Created at: 2023-06-13 20:52
* Edited by : Francesco
* Edited at : 2023-06-13 21:41
*
* Copyright (c) 2023 Xevolab S.R.L.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateX5c = generateX5c;
exports.generateX5tS256 = generateX5tS256;
exports.generateX5o = generateX5o;
exports.generateX5ts = generateX5ts;
var crypto_1 = require("crypto");
function generateX5c(certs) {
return certs.map(function (cert) { return cert.raw.toString("base64"); });
}
function generateX5tS256(certs) {
return (0, crypto_1.createHash)("sha256").update(certs[0].raw).digest("base64url");
}
var allowedAlgs = {
SHA384: "S384",
SHA512: "S512"
};
;
function generateX5o(certs, alg) {
if (!allowedAlgs[alg])
throw new Error("Unsupported algorithm: ".concat(alg));
return {
digAlg: allowedAlgs[alg],
digVal: (0, crypto_1.createHash)(alg).update(certs[0].raw).digest("base64url")
};
}
function generateX5ts(certs, alg) {
if (!allowedAlgs[alg])
throw new Error("Unsupported algorithm: ".concat(alg));
return certs.map(function (cert) { return ({
digAlg: allowedAlgs[alg],
digVal: (0, crypto_1.createHash)(alg).update(cert.raw).digest("base64url")
}); });
}