<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Токен со старыми алгоритмами дайжеста]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/6636" />
	<updated>2025-07-24T19:15:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/6636/</id>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30420/#p30420" />
			<content type="html"><![CDATA[<p>Спасибо, большое, я в принципе так и делаю ( вычисляю сразу хэш под 3 алгоритма, а потом нужный беру из уже высчитанного)<br />утром проведу опыты и напишу результат.</p>]]></content>
			<author>
				<name><![CDATA[slpodpishi]]></name>
				<uri>https://forum.rutoken.ru/user/15792/</uri>
			</author>
			<updated>2025-07-24T19:15:58Z</updated>
			<id>https://forum.rutoken.ru/post/30420/#p30420</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30418/#p30418" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>slpodpishi пишет:</cite><blockquote><p>у меня в коде прописано вот такое примечание:<br />// openssl dgst -md_gost94 results in GOST R 34.11-2012 digest calculation (using OpenSSL 1.1.0i + engine from openssl_1_1_0 branch</p><br /><p>я его сделал еще полгода назад.<br />И теперь возник вопрос как получить хэш в более старом оригинальном формате и где взять такой openssl?</p><p>сорри за дебильный вопрос.</p></blockquote></div><p>Добрый день!</p><p>Я бы не сильно верил комментарию, пока не перепроверил.</p><p>Мой на коленке собранный openssl3.4 с gost-engine считает значения хеша, совпадающие с заявленными в википедии (с парамсетом CryptoPro -- <a href="https://en.wikipedia.org/wiki/GOST_(hash_function)#Hashes_for_CryptoPro_parameters">https://en.wikipedia.org/wiki/GOST_(has … parameters</a>), за исключением хеша от пустой строки (на это есть баг в gost-engine: <a href="https://github.com/gost-engine/engine/issues/142">https://github.com/gost-engine/engine/issues/142</a>):</p><div class="codebox"><pre><code>mironenko@mbp2-rutoken gost-engine % echo -n &quot;&quot; | ./build/bin/openssl dgst -md_gost94 
id-GostR3411-94(stdin)= 3f25bc1fbbce27ca10fb1958f319473ae7e17482c3b53ecf47a7e2de8aabe4c8
mironenko@mbp2-rutoken gost-engine % echo -n &quot;abc&quot; | ./build/bin/openssl dgst -md_gost94
id-GostR3411-94(stdin)= b285056dbf18d7392d7677369524dd14747459ed8143997e163b2986f92fd42c
mironenko@mbp2-rutoken gost-engine % echo -n &quot;The quick brown fox jumps over the lazy dog&quot; | ./build/bin/openssl dgst -md_gost94
id-GostR3411-94(stdin)= 9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76</code></pre></div><p>С высокой долей вероятности, ваш openssl-1.1.1 с gost-engine тоже считает md_gost94 правильно.</p><p>Недоумение вызывают эти слова:<br /></p><div class="quotebox"><blockquote><p>В процессе внедрения выяснилось, что часть РУ-токенов в KG используют для дайджеста древний алгоритм 1.2.643.2.2.9 gostDigest (GOST R 34.11-94 digest), причем ключи выпущены в январе этого года.<br />хотя я ориентировался на алгоритм 2012.</p></blockquote></div><p>Функция `plugin.sign` для алгоритмов ГОСТ34.10-2001 и ГОСТ34.10-2012 не позволяет выбирать алгоритм хеширования, который используется и указывается при формировании CMS. Для ключей алгоритма ГОСТ34.10-2001 используется алгоритм хеширования ГОСТ34.11-94; для ключей алгоритма ГОСТ34.10-2012 используется алгоритм хеширования ГОСТ34.11-2012. Если вы в функцию `plugin.sign` передаете значение хеша ГОСТ34.11-94, но подпись выполняете с использованием ключа ГОСТ34.10-2012, оказывается, что CMS не может быть проверена, потому что в полученном CMS указан в качестве используемого идентификатор хеша ГОСТ34.11-2012, а значение хеша, на самом деле, посчитано вами вручную (в openssl) алгоритмом ГОСТ34.11-94.</p><p>Один из вариантов, как получать валидные CMS с вашими вводными (возможно, вам не подойдет из-за каких-то других ограничений):<br />1. Определять алгоритм ключа по сертификату пользователя.<br />2. Если алгоритм ключа ГОСТ34.10-2001, хешировать документ по алгоритму ГОСТ34.11-94 и вызывать `plugin.sign`.<br />2. Если алгоритм ключа ГОСТ34.10-2012, хешировать документ по алгоритму ГОСТ34.11-2012 и вызывать `plugin.sign`.</p>]]></content>
			<author>
				<name><![CDATA[Евгений Мироненко]]></name>
				<uri>https://forum.rutoken.ru/user/8673/</uri>
			</author>
			<updated>2025-07-24T15:43:26Z</updated>
			<id>https://forum.rutoken.ru/post/30418/#p30418</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30404/#p30404" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Аверченко Кирилл пишет:</cite><blockquote><p>Какие параметры вы указываете в этой структуре?</p></blockquote></div><p>А разве plugin.DATA_FORMAT_HASH это структура? по документации это константа типа number<br /><a href="https://plugin.api.rutoken.ru/CryptoPlugin.html">https://plugin.api.rutoken.ru/CryptoPlugin.html</a></p><p>Если вы о параметрах sign_options - она состоит из трех полей&nbsp; detached true, addUserCertificate true, addSignTime true</p><p>У вас форум блокирует код javascript&nbsp; теле сообщения. приходится удалять служебные символы, чтоы отправить вам сообщение<br />форму блокирует отправку сообщения, если я пытаюсь в конце фразы plugin.sign поставить две скобки.</p><p>Access to resource was blocked.<br />Reason or support ID: 01983c80-06a1-7e25-9bc9-0f0cbe27b11a.<br />Additional information: 12-02 24/Jul/2025:12:54:38 +0000. </p><br /><br /><p>у меня с формованием подписи криптоплугином нет ошибок, все нормально проходит, не проходит проверка подписи, так как на вход plugin.sign надо подать хэш в формате 1.2.643.2.2.9 gostDigest (GOST R 34.11-94 digest)</p><p>и мой вопрос в связи с этим звучал так: &quot;И теперь возник вопрос как получить хэш в более старом оригинальном формате и где взять такой openssl?&quot;</p><p>потому что рекомендованный openssl с параметром -md_gost94 дает формат хэша. который при проверке подписи вызывает ошибку<br />139740313272576:error:21071065:PKCS7 routines:PKCS7_signatureVerify:digest failure:crypto/pkcs7/pk7_doit.c:1011:</p>]]></content>
			<author>
				<name><![CDATA[slpodpishi]]></name>
				<uri>https://forum.rutoken.ru/user/15792/</uri>
			</author>
			<updated>2025-07-24T12:55:54Z</updated>
			<id>https://forum.rutoken.ru/post/30404/#p30404</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30392/#p30392" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>slpodpishi пишет:</cite><blockquote><p>plugin.DATA_FORMAT_HASH</p></blockquote></div><p>Какие параметры вы указываете в этой структуре?<br />Какая ошибка возникает у клиента?<br />Какой формат ключей используется у клиента? ГОСТ 2001 или ГОСТ 2012-256?</p>]]></content>
			<author>
				<name><![CDATA[Аверченко Кирилл]]></name>
				<uri>https://forum.rutoken.ru/user/11551/</uri>
			</author>
			<updated>2025-07-24T10:37:17Z</updated>
			<id>https://forum.rutoken.ru/post/30392/#p30392</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30391/#p30391" />
			<content type="html"><![CDATA[<p>Здравствуйте, Никита.</p><p>openssl делает хэш документа, отсылает его в браузер, браузер стандартным Рутокен-плагином создает подпись</p><p>v ar sign_options&nbsp; detached true, addUserCertificate true, addSignTime true<br />v ar signedData&nbsp; await plugin.sign login_device_id, login_cert_id, dataToSign, plugin.DATA_FORMAT_HASH, sign_options </p><p>где dataToSign - хэш документа.</p><br /><br /><p>УЦ, который подписывает ключ клиента, божиться, что используются только новые&nbsp; алгоритмы. Но после того. как уже поступила третья жалоба от третьего клиента на неправильную подпись - я думаю, что там бардак и таких случаев будет много и надо поднимать поддержку вышедшего в тираж протокола.</p><p>поэтому попросил помощи.</p>]]></content>
			<author>
				<name><![CDATA[slpodpishi]]></name>
				<uri>https://forum.rutoken.ru/user/15792/</uri>
			</author>
			<updated>2025-07-24T10:24:09Z</updated>
			<id>https://forum.rutoken.ru/post/30391/#p30391</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30390/#p30390" />
			<content type="html"><![CDATA[<p><strong>slpodpishi</strong>, добрый день!<br />ну для начала хотелось бы понять, вы хешируютк\е с помощью токена или openssl? <br />ГОСТ 34.11-94 поддерживается во всех носителях Рутокен, включая линейку 3.0.<br />Опишите пожалуйста сценарий.</p>]]></content>
			<author>
				<name><![CDATA[Филиппов Никита]]></name>
				<uri>https://forum.rutoken.ru/user/15532/</uri>
			</author>
			<updated>2025-07-24T10:02:44Z</updated>
			<id>https://forum.rutoken.ru/post/30390/#p30390</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Токен со старыми алгоритмами дайжеста]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/30389/#p30389" />
			<content type="html"><![CDATA[<p>Добрый день, коллеги.<br />В процессе внедрения выяснилось, что часть РУ-токенов в KG используют для дайджеста древний алгоритм 1.2.643.2.2.9 gostDigest (GOST R 34.11-94 digest), причем ключи выпущены в январе этого года.<br />хотя я ориентировался на алгоритм 2012.<br />У нас все документы подписываются через хэш.<br />поэтому возник вопрос - с какими параметрами надо запустить openssl, чтобы получить хэш именно в формате GOST R 34.11-94 digest?</p><p>у меня в коде прописано вот такое примечание:<br />// openssl dgst -md_gost94 results in GOST R 34.11-2012 digest calculation (using OpenSSL 1.1.0i + engine from openssl_1_1_0 branch</p><br /><p>я его сделал еще полгода назад.<br />И теперь возник вопрос как получить хэш в более старом оригинальном формате и где взять такой openssl?</p><p>сорри за дебильный вопрос.</p>]]></content>
			<author>
				<name><![CDATA[slpodpishi]]></name>
				<uri>https://forum.rutoken.ru/user/15792/</uri>
			</author>
			<updated>2025-07-24T07:31:43Z</updated>
			<id>https://forum.rutoken.ru/post/30389/#p30389</id>
		</entry>
</feed>
