<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
		<link>https://forum.rutoken.ru/topic/2324/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/2324/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Запись сертификата с закрытым ключем на Рутокен Lite».]]></description>
		<lastBuildDate>Fri, 06 Nov 2015 11:07:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/9046/#p9046</link>
			<description><![CDATA[<p>Спасибо что самостоятельно разобрались! :)</p>]]></description>
			<author><![CDATA[null@example.com (Кирилл Мещеряков)]]></author>
			<pubDate>Fri, 06 Nov 2015 11:07:05 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/9046/#p9046</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/9006/#p9006</link>
			<description><![CDATA[<p>Может кому пригодится подсказка как на C# записать сертификат (X509Certificate2) на токен. На этом форуме я такого не нашел.</p><p>Создаем контейнер<br /></p><div class="codebox"><pre><code>CryptAcquireContext(ref hProv, null, &quot;Aktiv ruToken CSP v1.0&quot;, PROV_RSA_FULL, CRYPT_NEWKEYSET);</code></pre></div><p>Вытаскиваем закрытый ключ из нашего объекта certificate<br /></p><div class="codebox"><pre><code>RSACryptoServiceProvider key = (RSACryptoServiceProvider) certificate.PrivateKey;
byte[] privateKeyBinary = key.ExportCspBlob(true);</code></pre></div><p>Записываем его на токен<br /></p><div class="codebox"><pre><code>IntPtr hKey = IntPtr.Zero;
CryptImportKey(hProv, privateKeyBinary, (UInt32) privateKeyBinary.Length, IntPtr.Zero, 0, ref hKey);</code></pre></div><p>Потом привязываем к ЗК сертификат<br /></p><div class="codebox"><pre><code>CryptSetKeyParam(hKey, KP_CERTIFICATE, certificate.RawData, 0)</code></pre></div><p>И не забываем подчищать за собой<br /></p><div class="codebox"><pre><code>CryptDestroyKey(hKey);
CryptReleaseContext(hProv, 0);</code></pre></div><p>Всевозможные проверки, для наглядности тут не показал.</p><p>Узнать имя контейнера, после его создания можно вот таким образом<br /></p><div class="codebox"><pre><code>uint stringLength = 0;
if (CryptGetProvParam(hProv, PP_CONTAINER, null, ref stringLength, 0))
{
    StringBuilder name = new StringBuilder((int) (stringLength + 1));
    if (CryptGetProvParam(hProv, PP_CONTAINER, name, ref stringLength, 0))
    {
        return name.ToString();
    }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Fri, 30 Oct 2015 08:54:46 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/9006/#p9006</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8990/#p8990</link>
			<description><![CDATA[<p>Вообще, хочется повторить функцию утилиты certutil:<br />certutil -user -csp &quot;Aktiv ruToken CSP v1.0&quot; -importpfx pfx.pfx</p><p>Она делает так, что рутокен предлагает выбрать из нескольких носителей нужный.</p>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Wed, 28 Oct 2015 07:57:14 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8990/#p8990</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8989/#p8989</link>
			<description><![CDATA[<p>В данный момент проблема с вызовом функции</p><p>IntPtr hProv = IntPtr.Zero;<br />string cspName = &quot;Aktiv ruToken CSP v1.0&quot;;<br />CryptAcquireContext(ref hProv, null, cspName, PROV_RSA_FULL, CRYPT_NEWKEYSET);</p><p>Она выдает ошибку<br />Набор ключей не определен (0x80090019)</p>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Wed, 28 Oct 2015 07:52:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8989/#p8989</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8987/#p8987</link>
			<description><![CDATA[<p>Да это я видел. Но там закрытый ключ уже записан.</p>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Wed, 28 Oct 2015 05:36:03 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8987/#p8987</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8973/#p8973</link>
			<description><![CDATA[<div class="quotebox"><cite>alexkhvlg пишет:</cite><blockquote><p>Строгих зависимостей от интерфейса нет. Хотя чем выше по уровню интерфейс, тем лучше.<br />Пишется маленькая утилита для получения сертификатов из Службы сертификатов Active Directory и записи их на Рутокен Lite без участия пользователя, с занесением дополнительной информации в MS SQL.</p></blockquote></div><p>Смотрите пример для CryptoAPI в нашем SDK.<br />Должно подойти!</p>]]></description>
			<author><![CDATA[null@example.com (Кирилл Мещеряков)]]></author>
			<pubDate>Tue, 27 Oct 2015 09:22:46 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8973/#p8973</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8966/#p8966</link>
			<description><![CDATA[<p>Строгих зависимостей от интерфейса нет. Хотя чем выше по уровню интерфейс, тем лучше.<br />Пишется маленькая утилита для получения сертификатов из Службы сертификатов Active Directory и записи их на Рутокен Lite без участия пользователя, с занесением дополнительной информации в MS SQL.</p>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Tue, 27 Oct 2015 01:19:01 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8966/#p8966</guid>
		</item>
		<item>
			<title><![CDATA[Re: Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8952/#p8952</link>
			<description><![CDATA[<p>Здравствуйте.<br /></p><div class="quotebox"><cite>alexkhvlg пишет:</cite><blockquote><p>Подскажите пожалуйста, каким образом можно записать объект X509Certificate2 на Рутокен Lite ?<br />Может есть примеры на C++/C# ?</p></blockquote></div><p>Уточните, пожалуйста, через какой интерфейс необходимо записывать? Для чего будет применяться?</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Mon, 26 Oct 2015 10:29:47 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8952/#p8952</guid>
		</item>
		<item>
			<title><![CDATA[Запись сертификата с закрытым ключем на Рутокен Lite]]></title>
			<link>https://forum.rutoken.ru/post/8951/#p8951</link>
			<description><![CDATA[<p>Подскажите пожалуйста, каким образом можно записать объект X509Certificate2 на Рутокен Lite ?<br />Может есть примеры на C++/C# ?</p>]]></description>
			<author><![CDATA[null@example.com (alexkhvlg)]]></author>
			<pubDate>Mon, 26 Oct 2015 01:32:42 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/8951/#p8951</guid>
		</item>
	</channel>
</rss>
