<?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/1339" />
	<updated>2010-08-02T12:17:29Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/1339/</id>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2922/#p2922" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>MKurskiy пишет:</cite><blockquote><p>2. CryptSetProvParam ( ... PP_RTCSP_SET_DEF_CONT ... );<br />#define PP_RTCSP_SET_DEF_CONT 0x10009<br />Если в CryptAcquireContext не был передан флаг CRYPT_SILENT, то будет запрошен PIN пользователя.<br />Если нужен silent режим, тогда предварительно нужно вызвать:<br />CryptSetProvParam( ... PP_SIGNATURE_PIN ... ), где в качестве данных pbData надо передать PIN пользователя в ANSI кодировке, с завершающим терминатором NULL.</p></blockquote></div><p>Дополню информацию по поводу PP_RTCSP_SET_DEF_CONT.</p><p>С этим параметром в функцию CryptSetProvParam следует передавать:<br />1. pbData, содержащий указатель на DWORD, и по указателю должено быть значение либо TRUE, либо FALSE. TRUE - выставить контейнер контейнером по-умолчанию; FALSE - снять свойство контейнер по-умолчанию, с контейнера.<br />2. dwFlags - со значением 0.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-08-02T12:17:29Z</updated>
			<id>https://forum.rutoken.ru/post/2922/#p2922</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2843/#p2843" />
			<content type="html"><![CDATA[<p>Отправил Вам на email актуальную консольную версию Cert2Cont.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-07-06T08:26:56Z</updated>
			<id>https://forum.rutoken.ru/post/2843/#p2843</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2840/#p2840" />
			<content type="html"><![CDATA[<p>У Вас, видимо достаточно не актуальная версия консольной версии Cert2Cont.<br />Раньше сравнение было сделано не корректно, сейчас это исправлено.</p><p>Написал Вам личным сообщением, как со мной связаться - вышлю Вам актуальную версию.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-07-02T13:23:24Z</updated>
			<id>https://forum.rutoken.ru/post/2840/#p2840</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2831/#p2831" />
			<content type="html"><![CDATA[<p>Указал файл без кавычек, теперь следующая ошибка.</p> <br /><br /><p>Selected container: &quot;608c6ff4-b74d-4db2-b228-2663bc26d441&quot;.</p><p>Enter der-certificate file name:</p><p>Hello10.cer</p><p>ERROR - Certificate not corresponds with public key in container.</p><p>Error occurred.</p><p>Press Enter to exit.</p> <br /><br /><p>Хотя с помощью графического Cert2Con с этого же файла сертификат в контейнер загружается.</p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-30T03:54:35Z</updated>
			<id>https://forum.rutoken.ru/post/2831/#p2831</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2826/#p2826" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>Ошибка, возвращаемая из консольного cert2cont в WinError.h имеет такое описание:</p><p>// MessageId: ERROR_INVALID_NAME<br />//<br />// MessageText:<br />//<br />// The filename, directory name, or volume label syntax is incorrect.<br />//<br />#define ERROR_INVALID_NAME&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;123L&nbsp; &nbsp; // dderror</p><p>Имя файла не может содержать кавычки - скорее всего дело в них.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-29T08:38:18Z</updated>
			<id>https://forum.rutoken.ru/post/2826/#p2826</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2822/#p2822" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Не получается импортировать сертификат из cer файла в контейнер с помощью консольной утилиты certt2cont.exe.<br />Перед выполнением cert2cont.exe логинимся с правами пользователся в утилите &quot;Администрирование ruToken&quot;.<br />Тот же самый суртификат из cer файла успешно импортируется графическим cert2cont.<br />Выводится ошибка, приведенная ниже.</p><p>C:\rutoken\Cert2Cont.exe /p &quot;Aktiv ruToken CSP v1.0&quot;<br />Rutoken project| 2008&nbsp; (C) Aktiv Co. | <a href="http://www.rutoken.ru">www.rutoken.ru</a><br />Welcome to &quot;Certificate import to container utility&quot;.</p><p>Selected CSP: &quot;Aktiv ruToken CSP v1.0&quot;.<br />CSP type is 1.</p><p>Select container:<br />[0] - 87f6230f-12b7-4853-b021-c2113f9129cc<br />0<br />Selected container: &quot;87f6230f-12b7-4853-b021-c2113f9129cc&quot;.<br />Enter der-certificate file name:<br />&quot;hello2.cer&quot;<br />ERROR - CreateFile; Error code: 0x7B<br />ERROR Description: ?????????????? ?????? ? ????? ?????, ????? ????? ??? ????? ????.</p><p>Error occurred.<br />Press Enter to exit.</p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-29T04:24:07Z</updated>
			<id>https://forum.rutoken.ru/post/2822/#p2822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2815/#p2815" />
			<content type="html"><![CDATA[<p>Да, этот параметр не указан в документации MSDN, а является пользовательским расширением Aktiv Rutoken CSP v1.0.<br />PP_RTCSP_SET_DEF_CONT - это наша внутренная константа.<br />Изменять мы ее никогда не будем, и поэтому ее можно использовать конечным клиентам.<br />Для использования, у себя в коде достаточно объявить константу #define PP_RTCSP_SET_DEF_CONT 0x10009.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-23T12:02:57Z</updated>
			<id>https://forum.rutoken.ru/post/2815/#p2815</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2814/#p2814" />
			<content type="html"><![CDATA[<p>Спасибо со списком контейнеров разобрались.</p><p>По этой ссылке не нашел, что у CryptSetProvParam есть параметр PP_RTCSP_SET_DEF_CONT <a href="http://msdn.microsoft.com/en-us/library/aa380276(v=VS.85).aspx">http://msdn.microsoft.com/en-us/library … S.85).aspx</a></p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-23T11:49:52Z</updated>
			<id>https://forum.rutoken.ru/post/2814/#p2814</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2813/#p2813" />
			<content type="html"><![CDATA[<p>В MSDN Library есть примеры по всем этим функциям.<br />В частности перебор контейнеров осуществляется по средствам функции CryptGetProvParam(... PP_ENUMCONTAINERS ... ) - <a href="http://msdn.microsoft.com/en-us/library/aa380196(VS.85).aspx">http://msdn.microsoft.com/en-us/library … S.85).aspx</a></p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-23T09:19:38Z</updated>
			<id>https://forum.rutoken.ru/post/2813/#p2813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2812/#p2812" />
			<content type="html"><![CDATA[<p>Добрый день.<br />1)Не могли бы вы привести небольшой пример с использованием данных функций.<br />Не совсем понятно какие параметры принимают эти функции.</p><p>В вашем SDK нашел пример с CryptAcquireContext, но там создается новый контейнер.</p><p>2) Как можно получить список контейнеров на токене.</p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-23T09:15:20Z</updated>
			<id>https://forum.rutoken.ru/post/2812/#p2812</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2762/#p2762" />
			<content type="html"><![CDATA[<p>Это можно сделать по средствам rtCSP - &quot;Aktiv ruToken CSP v1.0&quot;.<br />1. CryptAcquireContext( ... имя контейнера ... );<br />Имя контейнера можно указать как полное (с именем ридера), так и короткое (только имя).<br />Если Rutoken c указанным контейнером не подключен будет отображен диалог с предложение подключить токен с указанным контейнером.<br />Если нужен Silent режим, тогда необходимо передать флаг CRYPT_SILENT. В этом случае, если токен не подключен будет возвращена ошибка NTE_BAD_KEYSET.<br />2. CryptSetProvParam ( ... PP_RTCSP_SET_DEF_CONT ... );<br />#define PP_RTCSP_SET_DEF_CONT 0x10009<br />Если в CryptAcquireContext не был передан флаг CRYPT_SILENT, то будет запрошен PIN пользователя.<br />Если нужен silent режим, тогда предварительно нужно вызвать:<br />CryptSetProvParam( ... PP_SIGNATURE_PIN ... ), где в качестве данных pbData надо передать PIN пользователя в ANSI кодировке, с завершающим терминатором NULL.<br />3. CryptReleaseContext.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-04T08:03:42Z</updated>
			<id>https://forum.rutoken.ru/post/2762/#p2762</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2758/#p2758" />
			<content type="html"><![CDATA[<p>Добрый день.<br />С Cert2Cont разобрались.<br />В момент отсылки запроса к серверу поставили ключ -binary <br />certreq -submit -f -binary -config &quot;\\cert\test.kg&quot;1.req 1.cer 1.p7b<br />теперь сертификаты на выходе формируются в бинари формате и записываются утилитой Cert2Cont. Так же мы получили SDK и скомпилировали консольную утилиту Cert2Cont.<br />Теперь вопрос в следующем как можно установить контейнер по умолчанию, не через rtCert.exe, а через какую либо консольную утилиту, либо через функции, реализованные в вашем SDK?</p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-04T03:27:47Z</updated>
			<id>https://forum.rutoken.ru/post/2758/#p2758</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2756/#p2756" />
			<content type="html"><![CDATA[<p>Отображается ли контейнер без сертификата, как доступный к выбору для импорта сертификата?<br />Какую ошибку выдает Cert2Cont при попытке импорта серитификата?</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-03T10:34:32Z</updated>
			<id>https://forum.rutoken.ru/post/2756/#p2756</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2749/#p2749" />
			<content type="html"><![CDATA[<p>1) Создаем запрос сертификата,&nbsp; в этот момент на токене формируется контейнер и файл запроса.<br />&nbsp; &nbsp;certreq -new... .<br />2) Командой certreq -submit -f -q -config &quot;\\cert\***&quot; %1 *.cer *.p7b, мы формируем два файла <br />&nbsp; &nbsp; *.cer формат X509 Base64 - encoded<br />&nbsp; &nbsp; *.p7b&nbsp; -&nbsp; &nbsp;pkcs7 Base64 - encoded<br />&nbsp; &nbsp;После того как у нас на токене создался контейнер (пункт 1) и файл *.cer (X509 Base64) - мы утилитой&nbsp; &nbsp; &nbsp; &nbsp; Cert2Cont пытаемся загрузить сертификат, из файла *.cer, в существующий контейнер.<br />Но он на токен не загружается.</p><p>Где можно получить Cert2Cont в консольном исполнении.</p>]]></content>
			<author>
				<name><![CDATA[Bolat]]></name>
				<uri>https://forum.rutoken.ru/user/401/</uri>
			</author>
			<updated>2010-06-02T05:25:59Z</updated>
			<id>https://forum.rutoken.ru/post/2749/#p2749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Импортирование сертификатов]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/2748/#p2748" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>Уточните, пожалуйста, задачу.</p><p>Дело в том, что утилита Cert2Cont, по средствам CryptoAPI позволяет импортировать на Rutoken сертификат в контейнер, открытый ключ в котором, соответствует открытому ключу сертификата.<br />Хранить сертификаты отдельно от ключевой пары на Rutoken на данный момент нет возможности.</p><p>Если в контейнере p7b находится один сертификат, а на токене есть контейнер соответствующий сертификату, то сертификат можно загрузить программно во временное хранилище. Потом выгрузить в der или base64 кодировке и потом импортировать в токен при помощи Cert2Cont (она есть в консольном исполнении) либо rtCert.</p><p>Если уточните Вашу задачу - сколько сертификатов находится в контейнере p7b, есть ли сертификаты, которым не соответсвует ни одного контейнера - постараюсь ответить более точно.</p><p>В Rutoken SDK таких функций нет - это стандартная функциональность, которая присутствует в Windows SDK.</p>]]></content>
			<author>
				<name><![CDATA[MKurskiy]]></name>
				<uri>https://forum.rutoken.ru/user/17/</uri>
			</author>
			<updated>2010-06-01T15:03:46Z</updated>
			<id>https://forum.rutoken.ru/post/2748/#p2748</id>
		</entry>
</feed>
