Неверная подпись в Adobe Reader: «личность подписавшего еще не подтверждена»

#javascript #node.js #pdf #signature #node-forge

#javascript #node.js #PDF #подпись #узел-подделка

Вопрос:

Я пробовал использовать несколько сертификатов p12, и когда я подписываю с помощью моего подхода Nodejs, он возвращает недопустимую подпись в Adobe.

введите описание изображения здесь

Однако при подписании только с помощью Adobe подпись кажется действительной (только с предупреждением).

введите описание изображения здесь

Есть ли что-то, чего мне не хватает?

 const signer = require('node-signpdf')
const fs = require('fs')
const helpers = require('node-signpdf/dist/helpers')

const init = async () => {
    const p12Buffer = fs.readFileSync(`${__dirname}/cert.p12`);

    let pdfBuffer = fs.readFileSync(`${__dirname}/test.pdf`);
        pdfBuffer = helpers.plainAddPlaceholder({
        pdfBuffer,
        signatureLength: 31280,
    });

    pdfBuffer = signer.default.sign(pdfBuffer, p12Buffer, {
        passphrase: 'reingenio'
    });

    fs.writeFileSync(`${__dirname}/signed.pdf`, pdfBuffer)
}

init()
 

Спасибо.

Комментарии:

1. такая же проблема, нужна помощь

Ответ №1:

Вы пробовали читать PDF-файл как двоичный? fs.readFileSync( ${__dirname}/test.pdf , ‘binary’);