<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Проверка подписи по ГОСТ Р 34.10-2001 C#]]></title>
		<link>https://forum.rutoken.ru/topic/2137/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/2137/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Проверка подписи по ГОСТ Р 34.10-2001 C#».]]></description>
		<lastBuildDate>Thu, 09 Oct 2014 12:07:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Проверка подписи по ГОСТ Р 34.10-2001 C#]]></title>
			<link>https://forum.rutoken.ru/post/7644/#p7644</link>
			<description><![CDATA[<p>В качестве альтернативного варианта можно использовать rtwHashSign, предварительно преобразовав текст:</p><p>var ctext = Win1251ToHEX(text);</p><br /><p>&nbsp; &nbsp; var Win1251ToHEX = function (str) {<br />&nbsp; &nbsp; &nbsp; &nbsp; var Win1251 =<br />&nbsp; &nbsp; &nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x402: 0x80,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x403: 0x81,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x201A: 0x82,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x453: 0x83,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x201E: 0x84,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2026: 0x85,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2020: 0x86,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2021: 0x87,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x20AC: 0x88,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2030: 0x89,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x409: 0x8A,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2039: 0x8B,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40A: 0x8C,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40C: 0x8D,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40B: 0x8E,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40F: 0x8F,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x452: 0x90,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2018: 0x91,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2019: 0x92,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x201C: 0x93,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x201D: 0x94,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2022: 0x95,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2013: 0x96,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2014: 0x97,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2122: 0x99,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x459: 0x9A,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x203A: 0x9B,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x45A: 0x9C,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x45C: 0x9D,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x45B: 0x9E,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x45F: 0x9F,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xA0: 0xA0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40E: 0xA1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x45E: 0xA2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x408: 0xA3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xA4: 0xA4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x490: 0xA5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xA6: 0xA6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xA7: 0xA7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x401: 0xA8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xA9: 0xA9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x404: 0xAA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xAB: 0xAB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xAC: 0xAC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xAD: 0xAD,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xAE: 0xAE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x407: 0xAF,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xB0: 0xB0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xB1: 0xB1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x406: 0xB2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x456: 0xB3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x491: 0xB4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xB5: 0xB5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xB6: 0xB6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xB7: 0xB7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x451: 0xB8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x2116: 0xB9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x454: 0xBA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0xBB: 0xBB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x458: 0xBC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x405: 0xBD,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x455: 0xBE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x457: 0xBF,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x410: 0xC0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x411: 0xC1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x412: 0xC2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x413: 0xC3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x414: 0xC4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x415: 0xC5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x416: 0xC6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x417: 0xC7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x418: 0xC8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x419: 0xC9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41A: 0xCA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41B: 0xCB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41C: 0xCC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41D: 0xCD,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41E: 0xCE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x41F: 0xCF,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x420: 0xD0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x421: 0xD1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x422: 0xD2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x423: 0xD3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x424: 0xD4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x425: 0xD5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x426: 0xD6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x427: 0xD7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x428: 0xD8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x429: 0xD9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42A: 0xDA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42B: 0xDB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42C: 0xDC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42D: 0xDD,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42E: 0xDE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x42F: 0xDF,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x430: 0xE0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x431: 0xE1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x432: 0xE2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x433: 0xE3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x434: 0xE4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x435: 0xE5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x436: 0xE6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x437: 0xE7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x438: 0xE8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x439: 0xE9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43A: 0xEA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43B: 0xEB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43C: 0xEC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43D: 0xED,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43E: 0xEE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x43F: 0xEF,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x440: 0xF0,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x441: 0xF1,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x442: 0xF2,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x443: 0xF3,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x444: 0xF4,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x445: 0xF5,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x446: 0xF6,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x447: 0xF7,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x448: 0xF8,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x449: 0xF9,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44A: 0xFA,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44B: 0xFB,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44C: 0xFC,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44D: 0xFD,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44E: 0xFE,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x44F: 0xFF<br />&nbsp; &nbsp; &nbsp; &nbsp; };<br />&nbsp; &nbsp; &nbsp; &nbsp; var o1, o2, c, coded;<br />&nbsp; &nbsp; &nbsp; &nbsp; coded = &#039;&#039;;<br />&nbsp; &nbsp; &nbsp; &nbsp; for (c = 0; c &lt; str.length; c++) {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; o2 = str.charCodeAt(c);<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; o1 = o2 &lt; 128 ? o2 : Win1251[o2];<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (o1 == null &amp;&amp; o2 &gt; 0)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; o1 = 63; // if can&#039;t be decoded, put &#039;?&#039;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; coded += ((o1 &amp; 0xf0) &gt;&gt; 4).toString(16);<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; o1 = o1 &amp; 0x0f;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; coded += o1.toString(16);<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; return coded;<br />&nbsp; &nbsp; };</p>]]></description>
			<author><![CDATA[null@example.com (Алексей Лазарев)]]></author>
			<pubDate>Thu, 09 Oct 2014 12:07:18 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/7644/#p7644</guid>
		</item>
		<item>
			<title><![CDATA[Re: Проверка подписи по ГОСТ Р 34.10-2001 C#]]></title>
			<link>https://forum.rutoken.ru/post/7642/#p7642</link>
			<description><![CDATA[<p>Да, спасибо, все получилось</p>]]></description>
			<author><![CDATA[null@example.com (sergeymosh)]]></author>
			<pubDate>Thu, 09 Oct 2014 11:40:22 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/7642/#p7642</guid>
		</item>
		<item>
			<title><![CDATA[Re: Проверка подписи по ГОСТ Р 34.10-2001 C#]]></title>
			<link>https://forum.rutoken.ru/post/7641/#p7641</link>
			<description><![CDATA[<p>Добрый день. В коде вы используете функцию rtwHashSign, которая работает в кодировке&nbsp; win1251, она разрабатывалась для устройства PinPAD, в документации это не отражено, исправим. Для Рутокен Web рекомендуется использовать связку&nbsp; Sha256.hash + rtwSign на клиенте, они работают в кодировке utf8. Реализация хеширования представлена в файле hash256.js на демонстрационной площадке. Код площадки можно взять здесь <a href="https://download.rutoken.ru/Rutoken_Web/serverside/source_RTW_ASP.zip">https://download.rutoken.ru/Rutoken_Web … TW_ASP.zip</a>.</p><br /><p>т.е. код должен выглядеть примерно следующим образом </p><p>var hash = Sha256.hash(text);<br />g.token.rtwSign(name,hash);</p><p>С уважением, Алексей Лазарев</p>]]></description>
			<author><![CDATA[null@example.com (Алексей Лазарев)]]></author>
			<pubDate>Thu, 09 Oct 2014 11:33:37 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/7641/#p7641</guid>
		</item>
		<item>
			<title><![CDATA[Проверка подписи по ГОСТ Р 34.10-2001 C#]]></title>
			<link>https://forum.rutoken.ru/post/7637/#p7637</link>
			<description><![CDATA[<p>Добрый день! </p><p>Провозился пару дней с проверкой подписи, сгенерированной плагином РУТОКЕН Web (ГОСТ Р 34.10-2001), результат отрицательный, проверка не проходит. Проверяю подпись методом RutokenWeb.CheckSignature из библиотеки Rutoken.dll, взятой из примера для ASP.NET. Посмотрел пример token_test на php, на тех данных все работает. <br />Делаю примерно следующее:<br /></p><div class="codebox"><pre><code>(JS)
var sign = plugin.rtwHashSign(containerName, message);
(C#)
RutokenWeb.CheckSignature(sign, RutokenWeb.GetHash(message), publicKey);</code></pre></div><p>Наверное, все очень просто, помогите разобраться.</p>]]></description>
			<author><![CDATA[null@example.com (sergeymosh)]]></author>
			<pubDate>Thu, 09 Oct 2014 08:11:29 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/7637/#p7637</guid>
		</item>
	</channel>
</rss>
