UNPKG

afip.ts-fork-ssl-fix

Version:
46 lines 1.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cryptography = void 0; const node_forge_1 = __importDefault(require("node-forge")); class Cryptography { constructor(cert, key) { this.cert = cert; this.key = key; } sign(data) { const p7 = node_forge_1.default.pkcs7.createSignedData(); p7.content = node_forge_1.default.util.createBuffer(data, "utf8"); try { p7.addCertificate(this.cert); } catch (error) { throw new Error("Invalid PEM formatted message. Check your cert."); } p7.addSigner({ authenticatedAttributes: [ { type: node_forge_1.default.pki.oids.contentType, value: node_forge_1.default.pki.oids.data, }, { type: node_forge_1.default.pki.oids.messageDigest, }, { type: node_forge_1.default.pki.oids.signingTime, value: new Date(), }, ], certificate: this.cert, digestAlgorithm: node_forge_1.default.pki.oids.sha256, key: this.key, }); p7.sign(); const bytes = node_forge_1.default.asn1.toDer(p7.toAsn1()).getBytes(); return Buffer.from(bytes, "binary").toString("base64"); } } exports.Cryptography = Cryptography; //# sourceMappingURL=crypt-data.js.map