<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Рутокен, ЭЦП и C#]]></title>
		<link>https://forum.rutoken.ru/topic/2278/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/2278/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Рутокен, ЭЦП и C#».]]></description>
		<lastBuildDate>Sun, 26 Jul 2015 19:24:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8598/#p8598</link>
			<description><![CDATA[<p>Уффф. Всё, уже ничего не нужно я смог разобраться, и сделать через КриптоПРО .NET</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Sun, 26 Jul 2015 19:24:49 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8598/#p8598</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8596/#p8596</link>
			<description><![CDATA[<p>Ну, судя по тому, что <br />rtpkicorePINVOKE.CryptoCore_getInstance()<br />Возвращает 0, то ничего не получилось.</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Sat, 25 Jul 2015 18:36:53 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8596/#p8596</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8595/#p8595</link>
			<description><![CDATA[<p>Чуть-чуть поменял код, и прошлая ошибка выводиться перестала, зато появилась новая:<br /></p><div class="codebox"><pre><code>        static void cryptKey()
        {
            CryptoCore Crypto = new CryptoCore(rtpkicorePINVOKE.CryptoCore_getInstance(), true);
            LongVector devises = Crypto.enumerateDevices();

            foreach (var dv in devises)
            {
                DeviceInfo de = Crypto.getDeviceInfo(dv);
                switch (de.type)
                {
                    case 0:
                        Console.WriteLine(&quot;Unknown&quot;); break;
                    case 1:
                        Console.WriteLine(&quot;Rutoken ECP&quot;); break;
                    case 2:
                        Console.WriteLine(&quot;Rutoken WEB&quot;); break;
                    case 3:
                        Console.WriteLine(&quot;Rutoken PINPAD IN&quot;); break;
                    case 4:
                        Console.WriteLine(&quot;KAZTOKEN&quot;); break;
                    case 5:
                        Console.WriteLine(&quot;Rutoken PINPAD2&quot;); break;
                }
            }


            Console.ReadLine();
            Console.ReadLine();
        }
/*
Ошибка выскакивает на строке - LongVector devises = Crypto.enumerateDevices();
An unhandled exception of type &#039;System.AccessViolationException&#039; occurred in testConsole.exe
Additional information: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
*/</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Sat, 25 Jul 2015 16:08:33 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8595/#p8595</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8594/#p8594</link>
			<description><![CDATA[<p>Насколько я понял, библиотека rtpkicoreCSharp не может найти библиотеку PKCS#11, хотя файл rtPKCS11ECP лежит рядом.</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Sat, 25 Jul 2015 15:54:51 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8594/#p8594</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8593/#p8593</link>
			<description><![CDATA[<p>Так, относительно начинаю разбираться, но при попытке запуска кода(который сверху) теперь выдаёт ошибку:</p><p>An unhandled exception of type &#039;System.ApplicationException&#039; occurred in testConsole.exe<br />Additional information: 101:error:80001401:Vendor defined:PKCS11_CTX_load:Unable to load PKCS#11 module</p><p>rtPKCS11ECP.dll и rtpkicoreCSharp.dll закинул в папку к exe-шнику программы.</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Sat, 25 Jul 2015 15:43:03 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8593/#p8593</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8589/#p8589</link>
			<description><![CDATA[<p>Стандартная функция по каким-то причинам не хочет цепляться к токену, по этому я решил делать через C# - обёртку для стандартной библиотеки РуТокена. И сразу же возникла проблема - примеров работы с обёрткой просто нету, а примеры из этой статьи&nbsp; - <a href="http://habrahabr.ru/company/aktiv-company/blog/249723/">http://habrahabr.ru/company/aktiv-company/blog/249723/</a><br />Заточены под C++, и вызывают только большее количество вопросов.<br />Я пробую подклдючиться к токену, через обёртку:<br /></p><div class="codebox"><pre><code>            CryptoCore Crypto = CryptoCore.getInstance();
            LongVector devises = Crypto.enumerateDevices();

            foreach (var dv in devises)
            {
                DeviceInfo de = Crypto.getDeviceInfo(dv);
                switch (de.type)
                {
                    case 0:
                        listBox1.Items.Add(&quot;Unknown&quot;); break;
                    case 1:
                        listBox1.Items.Add(&quot;Rutoken ECP&quot;); break;
                    case 2:
                        listBox1.Items.Add(&quot;Rutoken WEB&quot;); break;
                    case 3:
                        listBox1.Items.Add(&quot;Rutoken PINPAD IN&quot;); break;
                    case 4:
                        listBox1.Items.Add(&quot;KAZTOKEN&quot;); break;
                    case 5:
                        listBox1.Items.Add(&quot;Rutoken PINPAD2&quot;);break;
                }
            }</code></pre></div><p>Но не совсем понимаю, чем инициализовывать cryptoCore. В статье на хабре она инициализируется строкой, а тут при <br /></p><div class="codebox"><pre><code>new CryptoCore() </code></pre></div><p>требует переменной типа intPtr, и булевой. Подскажите пожалуйста, хотябы примерно, как проводить инициализацию.</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Fri, 24 Jul 2015 19:09:28 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8589/#p8589</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8571/#p8571</link>
			<description><![CDATA[<p>Кирилл Мещеряков, спасибо большое, за ответ. Как только у меня появится на руках токен я буду разбираться с этим вопросом. Как тошлько что-то прояснится, я отпишусь.<br />P.S. Ещё бы знать, как активировать, этот ваш Aktiv... Но в какую сторону копать я знаю, в буду смотреть МСДН, когда уже сам токен будет...</p>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Mon, 20 Jul 2015 18:46:37 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8571/#p8571</guid>
		</item>
		<item>
			<title><![CDATA[Re: Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8570/#p8570</link>
			<description><![CDATA[<p>Добрый день.<br />Примеров под C# у нас нет, поэтому трудно что-то конкретное подсказать.<br />Но в целом, ваш ход мысли правильный, нужно лишь вместо программных криптопровайдеров Microsoft использовать наш аппаратный криптопровайдер Aktiv.</p>]]></description>
			<author><![CDATA[null@example.com (Кирилл Мещеряков)]]></author>
			<pubDate>Mon, 20 Jul 2015 15:26:21 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8570/#p8570</guid>
		</item>
		<item>
			<title><![CDATA[Рутокен, ЭЦП и C#]]></title>
			<link>https://forum.rutoken.ru/post/8514/#p8514</link>
			<description><![CDATA[<p>Здравствуйте. Заранее оговорюсь, что с токенами до этого дел не имел, поэтому мои вопросы могут быть несколько глупыми, или в корне не верными, поэтому прошу поправить меня, если что.<br />У меня есть программа на C#, генерирующая xml файлы. Эти файлы нужно подписывать ЭЦП, при помощи токена. Вопрос такой - можно - ли использовать стандартные C#-библиотеки, для подписывания xml файлов, или же работать будет только ваша SDK?<br />Вот мой текущий код(с токеном пока не проверялся):<br /></p><div class="codebox"><pre><code>        /// &lt;summary&gt;
        /// Подписывание xml-файла
        /// &lt;/summary&gt;
        /// &lt;param name=&quot;path&quot;&gt;Путь к подписываемому файлу&lt;/param&gt;
        public bool SignXml(string path)
        {
            CspParameters cspParams = new CspParameters();
            cspParams.KeyContainerName = &quot;XML_DSIG_RSA_KEY&quot;;            

            RSACryptoServiceProvider rsaKey = new RSACryptoServiceProvider(cspParams);
            if (rsaKey.CspKeyContainerInfo.HardwareDevice)
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.PreserveWhitespace = true;
                xmlDoc.Load(path);

                SignedXml signedXml = new SignedXml(xmlDoc);
                signedXml.SigningKey = rsaKey;

                Reference reference = new Reference();
                reference.Uri = &quot;&quot;;

                XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
                reference.AddTransform(env);
                signedXml.AddReference(reference);
                signedXml.ComputeSignature();
                XmlElement xmlDigitalSignature = signedXml.GetXml();
                xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true));

                xmlDoc.Save(path);
                return true;
            }
            else
                MessageBox.Show(&quot;Вставьте USB-Токен, для подписания документа.&quot;, &quot;Ошибка подписывания&quot;, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            return false;
        }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Zaharatot)]]></author>
			<pubDate>Fri, 10 Jul 2015 06:42:36 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8514/#p8514</guid>
		</item>
	</channel>
</rss>
