"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;