Newer
Older
import { checkForSubFilter, preparePDF } from "./generalUtils";
import { extractSignature } from "./signatureUtils";
import { verify } from "./verify";
export const verifyPDF = (pdf: Buffer) => {
const pdfBuffer = preparePDF(pdf);
try {
checkForSubFilter(pdfBuffer);
} catch (error) {
//SubFilter is only available if there is a sig in the pdf
return null;
const { signatureStr, signedData, signatureMeta } =
extractSignature(pdfBuffer);
const signatures: any = signedData.map((_signed, index) => {
return 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 };
}
};