диапазон байтов подписи недействителен после включения LTV

Я использую aws cloudHSM и itext7 для подписи PDF. Все нормально, пока я не включаю LTV.

Но после включения LTV появляется ошибка «По крайней мере, одна подпись имеет проблему» и отображается недопустимый диапазон байтов подписи.

1 ответ

В вашей архитектуре у вас есть параметр, в котором вы извлекаете PDF-файл для включения LTV и в котором вы также, в конце концов, возвращаете PDF-файл с результатом с LTV-функцией.

В такой архитектуре необходимо очистить ByteArrayOutputStream между извлечением из него исходного содержимого и добавлением к нему нового содержимого.

Следовательно, в вашем случае вы должны очистить его между

      ByteArrayInputStream signedPdfInput = new ByteArrayInputStream(((ByteArrayOutputStream)baos).toByteArray());

а также

      PdfDocument document = new PdfDocument(pdfReader.setUnethicalReading(true), new PdfWriter(baos),
                new StampingProperties().useAppendMode());
Другие вопросы по тегам