Skip to content
Snippets Groups Projects
index.js 1.09 KiB
Newer Older
  • Learn to ignore specific revisions
  • "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.verifyPDF = void 0;
    const generalUtils_1 = require("./generalUtils");
    const signatureUtils_1 = require("./signatureUtils");
    const verify_1 = require("./verify");
    const verifyPDF = (pdf) => {
        const pdfBuffer = (0, generalUtils_1.preparePDF)(pdf);
    
        try {
            (0, generalUtils_1.checkForSubFilter)(pdfBuffer);
        }
        catch (error) {
            console.log("no supported signatures found");
            return null;
        }
    
        try {
            const { signatureStr, signedData, signatureMeta } = (0, signatureUtils_1.extractSignature)(pdfBuffer);
            const signatures = signedData.map((_signed, index) => {
                return (0, verify_1.verify)(signatureStr[index], signatureMeta[index]);
            });
            return {
                // authenticity: signatures.every((o) => o.authenticity === true),
                expired: signatures.some((o) => o.expired === true),
                signatures,
            };
        }
        catch (error) {
            return { verified: false, message: error.message, error };
        }
    };
    exports.verifyPDF = verifyPDF;