Цифровая подпись PDF с PHP / Symfony / TCPDF

Я пытаюсь подписать PDF бросить пример из «https://tcpdf.org/examples/example_052/«

Мое расширение файла сертификата «.p12» вместо «.crt». Таким образом, я изменил 77 строку, которая делает ссылку на сертификат.

$ certificate = ‘file: //data/cert/tcpdf.crt’; -> $ certificate = ‘file: //data/cert/myCertificate.p12’;

Еще одна вещь, которую я изменил, — это третий параметр в функции setSignature в строке 88. Этот третий параметр является «private_key_password», и я добавил свой связанный пароль к private_key. (Я тоже пытался без изменения этого значения)

Но в результате создается файл PDF, а Adobe Acrobat Reader сообщает, что «срок действия сертификата документа НЕИЗВЕСТЕН», а также, если вы попытаетесь прочитать «Сведения о подписи» -> «Сведения о сертификате …» в Adobe Acrobat Reader, Программа заканчивается неожиданно. Очевидно, что цифровая подпись не относится к PDF правильно.

Есть идеи о том, что происходит? Большое спасибо.

0

Решение

Чтобы иметь возможность применить этот пример с моим сертификатом, мне пришлось преобразовать свой сертификат файла pfx («.p12») в 2 вида «.pem», которые выдают следующие строки команд nexts:

openssl pkcs12 -in myOldCertificate.p12 -clcerts -nokeys -out publicCert.pem -> спросил меня «Введите пароль для импорта»

openssl pkcs12 -in myOldCertificate.p12 -nocerts -out privateKey_cert.pem -> спросил меня «Введите пароль для импорта», а также для «Введите пароль PEM»

Итак, наконец, я просто изменил строку 89 из загруженного примера 52.

// установить подпись документа

$ pdf-> setSignature (‘file: ///var/www/html/publicCert.pem’, ‘file: ///var/www/html/privateKey_cert.pem’, ‘xxxxxx’, », 2, $ Информация);

В «xxxxx» я написал ту же строку, что и пароль для импорта, и, на всякий случай, также для парольной фразы PEM.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector