<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; подпись pdf файла на мобильном устройстве]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/3050/" />
	<updated>2019-10-17T06:02:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/3050/</id>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13425/#p13425" />
			<content type="html"><![CDATA[<p><strong>Ксения Шаврова</strong>, большое спасибо за ответы вам и разработчикам, все получилось!</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-17T06:02:45Z</updated>
			<id>https://forum.rutoken.ru/post/13425/#p13425</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13420/#p13420" />
			<content type="html"><![CDATA[<p>Разработчики дали ответ:</p><p>Чтобы использовать программный хеш нужно в параметре механизма хеширования, который передается в C_DigestInit, указать OID функции хеширования и его длину.</p><p>Значения OID&#039;ов для разных ГОСТов:</p><p>byte[] GOSTR3411_OID = new byte[]{0x06, 0x07, 0x2a, (byte)0x85, 0x03, 0x02, 0x02, 0x1e, 0x01};<br />byte[] GOSTR3411_12_256_OID = new byte[]{ 0x06, 0x08, 0x2A, (byte)0x85, 0x03, 0x07, 0x01, 0x01, 0x02, 0x02 };<br />byte[] GOSTR3411_12_512_OID = new byte[] { 0x06, 0x08, 0x2A, (byte)0x85, 0x03, 0x07, 0x01, 0x01, 0x02, 0x03 };</p><p>Вообще эти константы в (строковом представлении) уже есть в Bouncy Castle, и можно взять их оттуда (классы CryptoProObjectIdentifiers, RosstandartObjectIdentifiers)</p><p>пример кода:</p><div class="codebox"><pre><code>byte[] oid = new byte[] {0x06, 0x07, 0x2a, (byte) 0x85, 0x03, 0x02, 0x02, 0x1e, 0x01};
Memory parameter = new Memory(oid.length);
parameter.write(0, oid, 0, oid.length);
CK_MECHANISM mechanism = new CK_MECHANISM(new NativeLong(RtPkcs11Constants.CKM_GOSTR3411), parameter, new NativeLong(parameter.size()));

NativeLong rv = mPkcs11.C_DigestInit(new NativeLong(mSessionHandle), mechanism);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-16T13:09:08Z</updated>
			<id>https://forum.rutoken.ru/post/13420/#p13420</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13413/#p13413" />
			<content type="html"><![CDATA[<p>Поняла. Наши разработчики подготовят код как считать хеш по алгоритмам ГОСТ. Понадобится немного времени.</p>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-15T15:16:45Z</updated>
			<id>https://forum.rutoken.ru/post/13413/#p13413</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13412/#p13412" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ксения Шаврова пишет:</cite><blockquote><p>Нужно писать не в текстовый, а в бинарный файл. Тогда результат будет читаем.</p></blockquote></div><p>Ксения, я не могу прикрепить результат в виде файла на форум, нет прав. txt это не расширение результирующего файла, я пишу в файл с расширением .sig c помощью такой функции <a href="https://gist.github.com/freken-droid/6967944969bbeee3dceca34a965a4b25">https://gist.github.com/freken-droid/69 … 4a965a4b25</a></p><p><a href="https://drive.google.com/open?id=1CkLeI8tS-GLiG7D4JO-kw8FpmBaG8I5W">https://drive.google.com/open?id=1CkLeI … FpmBaG8I5W</a></p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-15T13:32:32Z</updated>
			<id>https://forum.rutoken.ru/post/13412/#p13412</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13410/#p13410" />
			<content type="html"><![CDATA[<p>Нужно писать не в текстовый, а в бинарный файл. Тогда результат будет читаем.</p>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-15T12:35:02Z</updated>
			<id>https://forum.rutoken.ru/post/13410/#p13410</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13409/#p13409" />
			<content type="html"><![CDATA[<p>и еще один вопрос - есть ли какие-то требования к алгоритму, с помощью которого будет получен хэш файла? Достаточно будет любого (например, SHA-1, SHA-256) или российское законодательство предусматривает ГОСТ 34.11-2018?</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-15T12:19:54Z</updated>
			<id>https://forum.rutoken.ru/post/13409/#p13409</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13406/#p13406" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ксения Шаврова пишет:</cite><blockquote><p>Разработчики просят приложить результат, который получается у вас. <br />Судя по коду, он возвращает только прикрепленную подпись, нужно разобраться более подробно.</p></blockquote></div><p>если просто записать получаемый массив data в файл, то выходит так<br /><a href="https://gist.github.com/freken-droid/561b2f3b8160c8eb8581b7973c9e035d">https://gist.github.com/freken-droid/56 … 973c9e035d</a></p><p>явно есть какие-то проблемы с кодировкой, но нечитаемо при любой выбираемой, косвенно видно только, что есть сведения о сертификате, если не ошибаюсь<br />это в случае, если в Pkcs7Signer параметр encapsulate = false</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-15T10:46:44Z</updated>
			<id>https://forum.rutoken.ru/post/13406/#p13406</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13404/#p13404" />
			<content type="html"><![CDATA[<p>Разработчики просят приложить результат, который получается у вас. <br />Судя по коду, он возвращает только прикрепленную подпись, нужно разобраться более подробно.</p>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-15T10:08:36Z</updated>
			<id>https://forum.rutoken.ru/post/13404/#p13404</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13402/#p13402" />
			<content type="html"><![CDATA[<p>Да, конечно, задала вопрос разработчикам. Обязательно дадим вам ответ.</p>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-15T09:55:09Z</updated>
			<id>https://forum.rutoken.ru/post/13402/#p13402</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13401/#p13401" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ксения Шаврова пишет:</cite><blockquote><p>Да, вы верно предположили. Подпись ставят не на сам документ, а на его хэш. Он нужен, потому что электронные документы весят достаточно много, поэтому на их шифрование уходило бы достаточно много времени.</p></blockquote></div><p>Ксения, спасибо за ответ!</p><p>может ли мне кто-то ответить на вторую часть вопроса? <br />- что возвращается в manageSignSucceed(byte[] data)? я предположила, что это и есть отсоединенная подпись, но при записи ее в файл получается нечто совершенно непохожее на подпись . Где смотреть / получать / генерировать сам файл подписи?</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-15T09:24:07Z</updated>
			<id>https://forum.rutoken.ru/post/13401/#p13401</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13400/#p13400" />
			<content type="html"><![CDATA[<p>Да, вы верно предположили. Подпись ставят не на сам документ, а на его хэш. Он нужен, потому что электронные документы весят достаточно много, поэтому на их шифрование уходило бы достаточно много времени.</p>]]></content>
			<author>
				<name><![CDATA[Ксения Шаврова]]></name>
				<uri>https://forum.rutoken.ru/user/8982/</uri>
			</author>
			<updated>2019-10-15T09:05:23Z</updated>
			<id>https://forum.rutoken.ru/post/13400/#p13400</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13399/#p13399" />
			<content type="html"><![CDATA[<p>по первому вопросу: исходя из сообщений в соседнем топике <a href="https://forum.rutoken.ru/topic/2841/">https://forum.rutoken.ru/topic/2841/</a> можно предположить, что проблему можно решить, подписывая не файл, а его хэш. Так ли это?</p><p>очень жду ответов! спасибо</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-15T08:34:14Z</updated>
			<id>https://forum.rutoken.ru/post/13399/#p13399</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13397/#p13397" />
			<content type="html"><![CDATA[<p>добрый день!</p><p>возникло еще два вопроса:<br /> - обработка, казалось бы, небольших файлов занимает значительное время - например, ~200Кб обрабатывается порядка 8 секунд, а 700Кб - уже около 50 секунд (логирую именно метод подписи, чтение из файла происходит быстро). С чем может быть связано? в вебе <a href="https://ra.rutoken.ru/devices/list">https://ra.rutoken.ru/devices/list</a> все происходит мгновенно.</p><br /><p> - что возвращается в manageSignSucceed(byte[] data)? я предположила, что это и есть отсоединенная подпись, но при записи ее в файл получается нечто совершенно непохожее на подпись . Где смотреть / получать / генерировать сам файл подписи?</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-14T09:08:12Z</updated>
			<id>https://forum.rutoken.ru/post/13397/#p13397</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13386/#p13386" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ЕкатеринаK пишет:</cite><blockquote><div class="quotebox"><cite>Павел Анфимов пишет:</cite><blockquote><div class="quotebox"><cite>ЕкатеринаK пишет:</cite><blockquote><p>Добрый день!</p><p>тестируем&nbsp; Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк. </p><p>Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет</p></blockquote></div><p>Здравствутйте, Екатерина!</p><p>Функции подписи, которая используется в демобанке, нет разницы какого формата файл передается на подпись. Так что просто прочитайте файл из памяти и передавайте функции подписи.</p></blockquote></div><p>Спасибо за оперативный ответ!<br />насколько я вижу, функции sign передается массив байт, с этим ок, прочитаю из памяти.<br />Вопрос в том, что я получу на выходе? успешная подпись обрабатывается коллбэком manageSignSucceed(byte[] data). Что в данном случае data? если подписывать документ в <a href="https://ra.rutoken.ru/devices/signature">https://ra.rutoken.ru/devices/signature</a> , то на выбор предлагается&nbsp; &quot;Подпись объединена с документом - Присоединенная подпись&quot; или &quot;Подпись в отдельном файле - Отcоединенная подпись&quot;.</p></blockquote></div><p>Будет подпись открепленной или прикрепленной определяется в файле <a href="https://github.com/AktivCo/rutoken-demobank-android/blob/master/app/src/main/java/ru/rutoken/bcprovider/Pkcs7Signer.java">Pkcs7Signer.java</a> в строке 26. </p><p>Втором параметр метода generate: true - присоедиенная подпись, false - отсоединенная.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2019-10-10T14:09:39Z</updated>
			<id>https://forum.rutoken.ru/post/13386/#p13386</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: подпись pdf файла на мобильном устройстве]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13384/#p13384" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Павел Анфимов пишет:</cite><blockquote><div class="quotebox"><cite>ЕкатеринаK пишет:</cite><blockquote><p>Добрый день!</p><p>тестируем&nbsp; Рутокен ЭЦП 2.0 Type-C и рассматриваем возможности его интеграции в наше мобильное приложение. Изучаю код приложения демо-банк. </p><p>Есть ли возможность подписи pdf-файла на мобильном устройстве с помощью рутокен? в демо-банке подобного примера использования нет</p></blockquote></div><p>Здравствутйте, Екатерина!</p><p>Функции подписи, которая используется в демобанке, нет разницы какого формата файл передается на подпись. Так что просто прочитайте файл из памяти и передавайте функции подписи.</p></blockquote></div><p>Спасибо за оперативный ответ!<br />насколько я вижу, функции sign передается массив байт, с этим ок, прочитаю из памяти.<br />Вопрос в том, что я получу на выходе? успешная подпись обрабатывается коллбэком manageSignSucceed(byte[] data). Что в данном случае data? если подписывать документ в <a href="https://ra.rutoken.ru/devices/signature">https://ra.rutoken.ru/devices/signature</a> , то на выбор предлагается&nbsp; &quot;Подпись объединена с документом - Присоединенная подпись&quot; или &quot;Подпись в отдельном файле - Отcоединенная подпись&quot;.</p>]]></content>
			<author>
				<name><![CDATA[ЕкатеринаK]]></name>
				<uri>https://forum.rutoken.ru/user/11278/</uri>
			</author>
			<updated>2019-10-10T13:46:47Z</updated>
			<id>https://forum.rutoken.ru/post/13384/#p13384</id>
		</entry>
</feed>
