2016-12-28 4 views
0

Мне нужно сделать приложение, в котором вы откроете PDF-документ, покажете его клиенту, и он подпишет его электронным путем (напишите его подпись на планшете).Электронная подпись PDF Android

Из того, что я прочитал, вам нужны данные от создаваемой подписи (отметка времени, давление и время от рисования) и прикрепить ее к PDF-файлу.

Но этого достаточно? Таким образом, чтобы открыть холст, прочитайте данные и прикрепите их к PDF с самим изображением подписи или мне нужно также подписать цифровой документ в формате PDF? Если этого достаточно, то где приложить все эти дополнительные данные (отметка времени ...)? - Я планирую использовать библиотеку itext.

+0

Это зависит от того, чего хочет ваш клиент. Потому что первая часть вашего вопроса касается изображения подписи, которое не совпадает с цифровой подписью. –

+0

Ему просто нужна электронная подпись, такая же, как написанная вручную. –

+0

Ну, на самом деле это не электронная подпись, а просто цифровое изображение рукописной подписи. Электронные подписи в контексте pdf-файлов - совершенно другая вещь. –

ответ

2

Есть много аспектов, связанных с вашим вопросом. В конечном итоге все сводится к вашим/вашим требованиям клиентов к процессу. Позвольте мне проиллюстрировать то, что вы можете сделать:

Во-первых: Существует разница между цифровой подписью и рукописной представление подписи - хотя вы можете комбинировать обе ...

Раствор I

  1. Захват изображения подписи (с холстом), создать образ из него
  2. Поместите изображение в PDF

Solution II

  1. То же, что и выше
  2. Создать стандартное поле PDF подпись, установить подпись-изображение, его внешний вид и цифровую подпись поля и, таким образом, документ (вам нужно сертификат для этого, но он может быть подписан сам по себе). Отметка времени (и далее информация о как место, причина и т.д.) также могут быть добавлены и являются частью подписи

Solution III

  1. То же, что и выше
  2. также собирать так называемые биометрические данные сигнатуры (координаты x, y, давление, как вы упомянули (но не всегда доступны) и временная метка для каждой пары координат
  3. Шифровать биометрические данные и добавить их в t поле подписи (сильно упрощенное)
  4. То же, что и на шаге 2 сверху (с.Решение II)

Solution IV (Update)

Как вы упомянули в своем комментарии вы хотите совместимый подпись eIDAS:

«мне не нужно, чтобы это было в цифровой форме подписанное, что мне нужно, - это основная электронная подпись, которая действительна под eIDAS «

Чтобы сделать это ясно: eIDAS - это способ цифровой подписи документов PDF.

  1. То же, что и выше
  2. Если вы хотите eIDAS совместимый eSignature вам также нужен сертификат. Об этом нет. Но сертификат может быть самоподписанным, поэтому это не должно быть проблемой. Остальное такое же, как в решении II (этап 2)

Возможны другие комбинации (например, с использованием квалифицированных сертификатов с интеллектуальной карты и т. Д.), Но в конце концов вы можете решить, что для вас подходящее решение , Это зависит от ваших требований, правил вашей страны и юридических потребностей контрактов, которые вы хотите подписать.

Каковы различия в решениях?

Первое решение не дает возможности проверить подлинность подписывающего лица и не гарантирует, что документ не был изменен после добавления изображения подписи. Решение II обеспечивает точно, что, однако, если используются самозаверяющие сертификаты, подписыватель не может быть идентифицирован (любой мог бы подписаться на этот документ). Чтобы доказать это, вы должны использовать квалифицированные сертификаты или пойти с решением III.

Последние примечания:

  • Если подписчик должен подписать в определенном месте, имеет смысл добавить пустое поле (я) подпись при создании документа. Затем, когда вы открываете в своем приложении, пользователь может нажать на поле подписи, которое он хочет подписать.
  • Существует много существующих решений, которые вы можете использовать именно для этого варианта использования. Таким образом, вы также должны спросить себя: зачем изобретать велосипед?
  • Большинство этих решений также не подписывают документ непосредственно на клиенте (android), но выполняют фактическую подпись на центральном сервере. Используя этот подход, вам не нужно повторно внедрять решение для каждой платформы (iOS, Windows Phone, Webbrowser на настольном ПК и т. Д.)
+0

Мое маленькое дополнение: решение Я буду электронной подписью. Другие решения будут представлять собой цифровую подпись. – Egl

+0

Да, мы используем термин «электронная подпись» для собственноручной подписи (с биометрией), но я думаю, что это не официальный термин, но он согласился, может быть, помогает устранить путаницу ... – Lonzak

+0

Боюсь, что это не будет , Использование термина «электронная подпись» просто очень противоречиво. – mkl