<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Поиск контейнера закрытого ключа функцией CryptFindCertificateKeyPro]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/2325/" />
	<updated>2015-10-28T10:32:10Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2325/</id>
		<entry>
			<title type="html"><![CDATA[Re: Поиск контейнера закрытого ключа функцией CryptFindCertificateKeyPro]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/8992/#p8992" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>К сожалению, через криптопровайдер Aktiv rutoken CSP 1.0 описываемое вами поведение возможно только при подключенном токене. <br />Это связано с реализацией CryptoAPI v1<br />Однако, через Microsoft Base SmartCard Provider все будет работать так как вы хотите.<br />Единственная проблема, что Рутокен minidriver для Microsoft Base SmartCard Provider пока не в релизе. Я могу выслать вам тестовую версию. Это подойдет?</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2015-10-28T10:32:10Z</updated>
			<id>https://forum.rutoken.ru/post/8992/#p8992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Поиск контейнера закрытого ключа функцией CryptFindCertificateKeyPro]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/8968/#p8968" />
			<content type="html"><![CDATA[<p>Доброе утро!<br />1) Токен &quot;ruToken 16 Kb&quot;,&nbsp; Драйвер &quot;Aktiv Co. IFD Handler&quot; версии 2.26.0.0<br />2) Криптопровайдер Aktiv rutoken CSP 1.0. Но явного указания к MS CryptoAPI о необходимости его использования в программе нет; расчёт на то, что высокоуровневая функция CryptFindCertificateKeyProvInfo сама определит необходимый криптопровайдер для найденного контейнера. И это успешно срабатывает, если токен вставлен заранее.</p>]]></content>
			<author>
				<name><![CDATA[dslitinskiy]]></name>
				<uri>https://forum.rutoken.ru/user/9925/</uri>
			</author>
			<updated>2015-10-27T07:44:43Z</updated>
			<id>https://forum.rutoken.ru/post/8968/#p8968</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Поиск контейнера закрытого ключа функцией CryptFindCertificateKeyPro]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/8961/#p8961" />
			<content type="html"><![CDATA[<p>Добрый вечер, <br />спасибо за ваш вопрос, мы можем попробовать посмотреть, но нужны уточнения:<br />1) какой токен (модель) вы используете?<br />2) какой криптопровайдер? (Aktiv rutoken CSP 1.0) ?</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2015-10-26T18:31:07Z</updated>
			<id>https://forum.rutoken.ru/post/8961/#p8961</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Поиск контейнера закрытого ключа функцией CryptFindCertificateKeyPro]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/8954/#p8954" />
			<content type="html"><![CDATA[<p>Мы используем&nbsp; MS CryptoAPI. Сертификаты в нашей системе могут распространятся отдельно от закрытых ключей, поэтому необходимо выполнять связывание сертификата и ключевого контейнера. Для этой цели мы используем функцию CryptFindCertificateKeyProvInfo<br />Проблема следующая. Для сертификата, закрытый ключ которого находится на токене, функция срабатывает корректно, только если токен вставлен до её вызова. Если токен не вставлен - то выдаётся диалог: &quot;вставьте смарт-карту&quot;. После этого вставляю токен с ключом. Но токен не воспринимается (см. рис)<br /><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.rutoken.ru/uploads/transfer/0/8500/8954/p1a2i7hde31q1gfqj9sb4961j9l1.png"><img class="fb_img" src="https://forum.rutoken.ru/uploads/transfer/0/8500/8954/thumb/p1a2i7hde31q1gfqj9sb4961j9l1.png" alt="" /></a></span><br />Если закрытый ключ в реестре - всё работает. Если в функцию передать флаг CRYPT_FIND_SILENT_KEYSET_FLAG то при вставленном токене работает, если же токен вынут - возвращает false, как и должна.<br />Но нужно, чтобы если носитель не вставлен, он запрашивался. Не могу понять, почему токен не принимается. Пробовал предварительно переоткрыть контекст сертификата, найдя его в хранилище - результат ещё хуже. Тот же эффект, даже если носитель был вставлен заранее. Попробовал перебирать контейнеры функцией CryptGetProvParam(provider_, PP_ENUMCONTAINERS, NULL, &amp;size, CRYPT_NEXT) - перебираются только доступные, запроса токена не производится.</p>]]></content>
			<author>
				<name><![CDATA[dslitinskiy]]></name>
				<uri>https://forum.rutoken.ru/user/9925/</uri>
			</author>
			<updated>2015-10-26T14:07:36Z</updated>
			<id>https://forum.rutoken.ru/post/8954/#p8954</id>
		</entry>
</feed>
