как вручную проверить подпись PDF (содержимое поля: rsaEncryption)
Я хотел бы вручную проверить подписанный RSA документ PDF, но мне не удается получить подпись, отличную от той, которая закодирована в PDF. Вот шаги, которые я выполнил, любая помощь / советы действительно ценятся.
- Я сделал простой текстовый PDF (~ 1 КБ)
- Я сгенерировал файл openssl pfx с соответствующим 2048-битным ключом RSA
- Я сделал загрузку упомянутого ключа в пользователя Windows certmgr
- Я использовал упомянутый ключ для подписи PDF через JSignPdf 1.6.3 (алгоритм хеширования sha-256)
Результатом вышеуказанных шагов является правильно подписанный PDF-документ (зеленая верхняя панель). Затем я использовал notepad ++ для удаления поля содержимого, как описано в документации Adobe, чтобы получить необработанный файл для вычисления, соответствует ли хеш-код тому, который встроен в структуру содержимого. Этот шаг был успешным, мой SHA-256 соответствовал.
Вот вывод из декодера ASN.1 для значения поля содержимого из PDF:
2.16.840.1.101.3.4.2.1sha-256 (алгоритм NIST)
1.2.840.113549.1.9.3contentType (PKCS # 9)
1.2.840.113549.1.7.1data (PKCS # 7)
1.2.840.113549.1.9.4messageDigest (PKCS # 9) 32 байта
E271FBADC18080C7E8BD5F0FFBCA0BD77E488309E450D28B79B720D08F69F3FC
1.2.840.113549.1.1.1rsaEncryption (PKCS # 1) 256 байт
6547B3C9658AA8C1C259A97F1B336A099677013EDABE315F9C18C4CE6B6341CAA7054 ...
Я могу получить то же значение, вычисляющее SHA-256 для этого измененного файла вручную, что и значение, встроенное в PDF (E271FB *).
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить последнее значение rsaEncryption вручную в том же файле, совместимом с sha-256, или только на основе упомянутого хэша.
Вот что я пытался ..
- openssl dgst -sign ./domain.key file_hash.pdf> signature.bin
- openssl dgst -sha256 -sign ./domain.key -out signature.bin file_hash.pdf
Где file_hash.pdf - это файл, который sha-256 соответствует файлу в зеленом PDF-файле из JSignPDF, а domain.key - тот же ключ, импортированный в Windows (с текстом --- начальный закрытый ключ ---).
Можете ли вы посоветовать мне, что я делаю неправильно в конце или как мне достичь этого значения 6547B *?
0 ответов на вопрос
Похожие вопросы
-
14
PDF Viewer в Windows
-
8
Firefox PDF плагин для просмотра PDF в браузере на Windows
-
17
Как распечатать документы в pdf
-
-
2
Firefox печать в PDF-файл
-
4
PDF Reader для iPhone
-
6
Adobe Reader: запомните пароль для файла PDF
-
4
Можно ли добавить свои собственные закладки / вкладки в файл PDF?
-
5
Какие альтернативы Adobe Acrobat имеют функции подписи PDF
-
3
Какое программное обеспечение может преобразовать почерк в текст?
-
1
Составить оглавление для многих .odt-файлов