<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Токен со старыми алгоритмами дайжеста]]></title>
		<link>https://forum.rutoken.ru/topic/6636/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/6636" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Токен со старыми алгоритмами дайжеста».]]></description>
		<lastBuildDate>Thu, 24 Jul 2025 19:15:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30420/#p30420</link>
			<description><![CDATA[<p>Спасибо, большое, я в принципе так и делаю ( вычисляю сразу хэш под 3 алгоритма, а потом нужный беру из уже высчитанного)<br />утром проведу опыты и напишу результат.</p>]]></description>
			<author><![CDATA[null@example.com (slpodpishi)]]></author>
			<pubDate>Thu, 24 Jul 2025 19:15:58 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30420/#p30420</guid>
		</item>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30418/#p30418</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Евгений Мироненко)]]></author>
			<pubDate>Thu, 24 Jul 2025 15:43:26 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30418/#p30418</guid>
		</item>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30404/#p30404</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (slpodpishi)]]></author>
			<pubDate>Thu, 24 Jul 2025 12:55:54 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30404/#p30404</guid>
		</item>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30392/#p30392</link>
			<description><![CDATA[<div class="quotebox"><cite>slpodpishi пишет:</cite><blockquote><p>plugin.DATA_FORMAT_HASH</p></blockquote></div><p>Какие параметры вы указываете в этой структуре?<br />Какая ошибка возникает у клиента?<br />Какой формат ключей используется у клиента? ГОСТ 2001 или ГОСТ 2012-256?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Thu, 24 Jul 2025 10:37:17 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30392/#p30392</guid>
		</item>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30391/#p30391</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (slpodpishi)]]></author>
			<pubDate>Thu, 24 Jul 2025 10:24:09 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30391/#p30391</guid>
		</item>
		<item>
			<title><![CDATA[Re: Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30390/#p30390</link>
			<description><![CDATA[<p><strong>slpodpishi</strong>, добрый день!<br />ну для начала хотелось бы понять, вы хешируютк\е с помощью токена или openssl? <br />ГОСТ 34.11-94 поддерживается во всех носителях Рутокен, включая линейку 3.0.<br />Опишите пожалуйста сценарий.</p>]]></description>
			<author><![CDATA[null@example.com (Филиппов Никита)]]></author>
			<pubDate>Thu, 24 Jul 2025 10:02:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30390/#p30390</guid>
		</item>
		<item>
			<title><![CDATA[Токен со старыми алгоритмами дайжеста]]></title>
			<link>https://forum.rutoken.ru/post/30389/#p30389</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (slpodpishi)]]></author>
			<pubDate>Thu, 24 Jul 2025 07:31:43 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/30389/#p30389</guid>
		</item>
	</channel>
</rss>
