<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/3422/" />
	<updated>2021-10-05T10:53:03Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/3422/</id>
		<entry>
			<title type="html"><![CDATA[Re: Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16041/#p16041" />
			<content type="html"><![CDATA[<p><strong>SergeyRT</strong>, добрый день!</p><p>1) проверку подписи с помощью библиотеки PKCS11 без сессии сделать не получится. <br />Формально токен не участвует, но интерфейс PKCS11 предназначен для работы с физическими устройствами.</p><p>2) &quot;сырую&quot; подпись (не в CMS формате) с программным хэшем можно проверить с помощью C_VerifyInit+C_Verify.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2021-10-05T10:53:03Z</updated>
			<id>https://forum.rutoken.ru/post/16041/#p16041</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16040/#p16040" />
			<content type="html"><![CDATA[<p>Добрый день, подскажите, пожалуйста,</p><p>1. Можно ли обойтись без открытия сессии для программного расчета хеша от исходных данных при проверке отсоединенной подписи?<br />- Исходные данные имеют большой размер.<br />- При формировании структуры CMSSignedData с большими исходными данными получаю ошибку OutOfMemoryError, поэтому формирую структуру CMSSignedData с помощью конструктора CMSSignedData(Map var1, byte[] var2), где var1 - хеш от исходных данных, var2 - отсоединенная подпись.</p><p>В документации нашел только методы C_DigestInit и C_Digest. Хеш вычисляется программно, то может можно избавиться от сессии, так как токен в проверке подписи не участвует?</p><p>2. Если ли некое API для проверки подписи на токене с передачей лишь хеша от исходных данных? Хеш вычисляется программно.</p>]]></content>
			<author>
				<name><![CDATA[SergeyRT]]></name>
				<uri>https://forum.rutoken.ru/user/11860/</uri>
			</author>
			<updated>2021-10-05T10:31:20Z</updated>
			<id>https://forum.rutoken.ru/post/16040/#p16040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16030/#p16030" />
			<content type="html"><![CDATA[<p><strong>SergeyRT</strong>, выбор программного или аппаратного хеширования задается параметрами механизма подписи или хеширования.</p><p>Пример программного хеширования:<br /></p><div class="codebox"><pre><code>static CK_BYTE parametersGostR3411_2012_256[] = { 0x06, 0x08, 0x2a, 0x85, 0x03, 0x07, 0x01, 0x01, 0x02, 0x02 };

static CK_MECHANISM gostR3410_2012_256SigVerMech_WithHash = {CKM_GOSTR3410_WITH_GOSTR3411_12_256, parametersGostR3411_2012_256, sizeof(parametersGostR3411_2012_256)};</code></pre></div><p>Аппаратное хеширование:<br /></p><div class="codebox"><pre><code>static CK_MECHANISM gostR3410_2012_256SigVerMech = {CKM_GOSTR3410_WITH_GOSTR3411_12_256, NULL_PTR,0)};</code></pre></div><p>Полный пример можно увидеть, запустив пример в SDK по пути в архиве: sdk\pkcs11\samples\Standard\SignGOST34.10-2012-512WithHash.</p><p>Чтобы включить программное хеширование нужно раскомментировать соответствующие механизмы (строки 431- 448) (и закомментировать аппаратное) в файле \sdk\pkcs11\samples\include\Common.h</p><p>Спасибо, что указали на неточность в документации.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2021-10-04T08:18:10Z</updated>
			<id>https://forum.rutoken.ru/post/16030/#p16030</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16029/#p16029" />
			<content type="html"><![CDATA[<p>Спасибо за ответ.</p><p>Это код я видел, но смущают эти две строчки у Вас в документации:<br />CKM_GOSTR3411_12_256 для хеширования алгоритмом ГОСТ Р 34.11.2012 с длиной значения 256 бит (<strong>только аппаратно</strong>),<br />CKM_GOSTR3411_12_512 для хеширования алгоритмом ГОСТ Р 34.11.2012 с длиной закрытого ключа 512 бит (<strong>только аппаратно</strong>).</p><p>Все-таки аппаратно хешируется или программно для ГОСТ 256/512?</p>]]></content>
			<author>
				<name><![CDATA[SergeyRT]]></name>
				<uri>https://forum.rutoken.ru/user/11860/</uri>
			</author>
			<updated>2021-10-04T07:45:22Z</updated>
			<id>https://forum.rutoken.ru/post/16029/#p16029</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16028/#p16028" />
			<content type="html"><![CDATA[<p>Добрый день!</p><p>Примеры программного хеширования и подписания в формате CMS в Aндроид удобнее всего посмотреть в нашем демо-приложении <a href="https://github.com/AktivCo/rutoken-demoshift-android">Рутокен Демосмена </a> для подписания допусков сотрудников к работе.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2021-10-04T07:35:24Z</updated>
			<id>https://forum.rutoken.ru/post/16028/#p16028</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Отсоединенная подпись и проверка подписи больших файлов на OS Android]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/16027/#p16027" />
			<content type="html"><![CDATA[<p>Добрый день, подскажите, пожалуйста, как можно сделать расчет хеша программно с помощью pkcs11, так как у Вас в документации указано, что для&nbsp; ГОСТ 256/512 доступно только аппаратное хеширование (<a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=13795364#id-%D0%92%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%A0%D1%83%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D1%87%D0%B5%D1%80%D0%B5%D0%B7PKCS11-%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8">https://dev.rutoken.ru/pages/viewpage.a … 0%B8%D0%B8</a>)</p>]]></content>
			<author>
				<name><![CDATA[SergeyRT]]></name>
				<uri>https://forum.rutoken.ru/user/11860/</uri>
			</author>
			<updated>2021-10-03T10:20:15Z</updated>
			<id>https://forum.rutoken.ru/post/16027/#p16027</id>
		</entry>
</feed>
