afip.ts-fork-ssl-fix
Version:
Afip typescript SDK
46 lines • 1.64 kB
JavaScript
;
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