подпись pdf файла на мобильном устройстве

Добрый день!

тестируем  Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк.

Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет

Re: подпись pdf файла на мобильном устройстве

ЕкатеринаK пишет:

Добрый день!

тестируем  Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк.

Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет

Здравствутйте, Екатерина!

Функции подписи, которая используется в демобанке, нет разницы какого формата файл передается на подпись. Так что просто прочитайте файл из памяти и передавайте функции подписи.

(2019-10-10 16:47:07 отредактировано ЕкатеринаK)

Re: подпись pdf файла на мобильном устройстве

Павел Анфимов пишет:
ЕкатеринаK пишет:

Добрый день!

тестируем  Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк.

Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет

Здравствутйте, Екатерина!

Функции подписи, которая используется в демобанке, нет разницы какого формата файл передается на подпись. Так что просто прочитайте файл из памяти и передавайте функции подписи.

Спасибо за оперативный ответ!
насколько я вижу, функции sign передается массив байт, с этим ок, прочитаю из памяти.
Вопрос в том, что я получу на выходе? успешная подпись обрабатывается коллбэком manageSignSucceed(byte[] data). Что в данном случае data? если подписывать документ в https://ra.rutoken.ru/devices/signature , то на выбор предлагается  "Подпись объединена с документом - Присоединенная подпись" или "Подпись в отдельном файле - Отcоединенная подпись".

Re: подпись pdf файла на мобильном устройстве

ЕкатеринаK пишет:
Павел Анфимов пишет:
ЕкатеринаK пишет:

Добрый день!

тестируем  Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк.

Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет

Здравствутйте, Екатерина!

Функции подписи, которая используется в демобанке, нет разницы какого формата файл передается на подпись. Так что просто прочитайте файл из памяти и передавайте функции подписи.

Спасибо за оперативный ответ!
насколько я вижу, функции sign передается массив байт, с этим ок, прочитаю из памяти.
Вопрос в том, что я получу на выходе? успешная подпись обрабатывается коллбэком manageSignSucceed(byte[] data). Что в данном случае data? если подписывать документ в https://ra.rutoken.ru/devices/signature , то на выбор предлагается  "Подпись объединена с документом - Присоединенная подпись" или "Подпись в отдельном файле - Отcоединенная подпись".

Будет подпись открепленной или прикрепленной определяется в файле Pkcs7Signer.java в строке 26.

Втором параметр метода generate: true - присоедиенная подпись, false - отсоединенная.

Re: подпись pdf файла на мобильном устройстве

добрый день!

возникло еще два вопроса:
- обработка, казалось бы, небольших файлов занимает значительное время - например, ~200Кб обрабатывается порядка 8 секунд, а 700Кб - уже около 50 секунд (логирую именно метод подписи, чтение из файла происходит быстро). С чем может быть связано? в вебе https://ra.rutoken.ru/devices/list все происходит мгновенно.


- что возвращается в manageSignSucceed(byte[] data)? я предположила, что это и есть отсоединенная подпись, но при записи ее в файл получается нечто совершенно непохожее на подпись . Где смотреть / получать / генерировать сам файл подписи?

Re: подпись pdf файла на мобильном устройстве

по первому вопросу: исходя из сообщений в соседнем топике https://forum.rutoken.ru/topic/2841/ можно предположить, что проблему можно решить, подписывая не файл, а его хэш. Так ли это?

очень жду ответов! спасибо

Re: подпись pdf файла на мобильном устройстве

Да, вы верно предположили. Подпись ставят не на сам документ, а на его хэш. Он нужен, потому что электронные документы весят достаточно много, поэтому на их шифрование уходило бы достаточно много времени.

Re: подпись pdf файла на мобильном устройстве

Ксения Шаврова пишет:

Да, вы верно предположили. Подпись ставят не на сам документ, а на его хэш. Он нужен, потому что электронные документы весят достаточно много, поэтому на их шифрование уходило бы достаточно много времени.

Ксения, спасибо за ответ!

может ли мне кто-то ответить на вторую часть вопроса?
- что возвращается в manageSignSucceed(byte[] data)? я предположила, что это и есть отсоединенная подпись, но при записи ее в файл получается нечто совершенно непохожее на подпись . Где смотреть / получать / генерировать сам файл подписи?

Re: подпись pdf файла на мобильном устройстве

Да, конечно, задала вопрос разработчикам. Обязательно дадим вам ответ.

Re: подпись pdf файла на мобильном устройстве

Разработчики просят приложить результат, который получается у вас.
Судя по коду, он возвращает только прикрепленную подпись, нужно разобраться более подробно.

(2019-10-15 13:52:52 отредактировано ЕкатеринаK)

Re: подпись pdf файла на мобильном устройстве

Ксения Шаврова пишет:

Разработчики просят приложить результат, который получается у вас.
Судя по коду, он возвращает только прикрепленную подпись, нужно разобраться более подробно.

если просто записать получаемый массив data в файл, то выходит так
https://gist.github.com/freken-droid/56 … 973c9e035d

явно есть какие-то проблемы с кодировкой, но нечитаемо при любой выбираемой, косвенно видно только, что есть сведения о сертификате, если не ошибаюсь
это в случае, если в Pkcs7Signer параметр encapsulate = false

Re: подпись pdf файла на мобильном устройстве

и еще один вопрос - есть ли какие-то требования к алгоритму, с помощью которого будет получен хэш файла? Достаточно будет любого (например, SHA-1, SHA-256) или российское законодательство предусматривает ГОСТ 34.11-2018?

Re: подпись pdf файла на мобильном устройстве

Нужно писать не в текстовый, а в бинарный файл. Тогда результат будет читаем.

Re: подпись pdf файла на мобильном устройстве

Ксения Шаврова пишет:

Нужно писать не в текстовый, а в бинарный файл. Тогда результат будет читаем.

Ксения, я не могу прикрепить результат в виде файла на форум, нет прав. txt это не расширение результирующего файла, я пишу в файл с расширением .sig c помощью такой функции https://gist.github.com/freken-droid/69 … 4a965a4b25

https://drive.google.com/open?id=1CkLeI … FpmBaG8I5W

Re: подпись pdf файла на мобильном устройстве

Поняла. Наши разработчики подготовят код как считать хеш по алгоритмам ГОСТ. Понадобится немного времени.