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

Я сказал им сделать следующее (и попытался сделать это сам)

  • Запрос и получить сертификат (я пропущу эту часть)
  • Создайте сообщение MIME с файлом PDF в нем. makemime -c "text/pdf" -a "Content-Disposition: attachment; filename=”Elaborato.pdf" Elaborato.pdf > Elaborato.pdf.msg
  • Войти с помощью openSSL openssl smime -sign -in Elaborato.pdf.msg -out Elaborato.pdf.p7m -certfile ca.pem -certfile nomegruppo.crt -inkey nomegruppo.key -signer nomegruppo.crt

  • Проверить с помощью openssl smime -verify -in Elaborato.pdf.p7m -out Elaborato-verified.msg -CAfile ca.pem -signer nomegruppo.crt

  • Извлечь вложение с помощью munpack Elaborato-verified.msg
  • Просмотр с помощью Acrobat Reader

Проблема в том, что даже если я получаю файл, который (по своему двоичному содержимому) напоминает файл PDF, мой текущий просмотрщик PDF в Ubuntu его не читает. XXXElaborato.pdf извлеченный munpack, немного меньше оригинала.

В чем проблема с этой процедурой? Теоретически, они должны отправить мне подписанное сообщение S/MIME, и я смогу прочитать в нем PDF-файл. Почему я не могу восстановить исходное содержимое файла PDF?

1 ответ1

0

MIME-тип text/pdf неверный. Это должен быть application/pdf и, кстати, я использовал mpack вместо makemime.

Это делает учебник для подписи документа работать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .