<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/2096" />
	<updated>2014-07-30T11:16:02Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2096/</id>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7425/#p7425" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ахат пишет:</cite><blockquote><div class="quotebox"><cite>Vladimir Ivanov пишет:</cite><blockquote><p>Добрый день!</p><p>Если не сложно, проясните пожалуйста, для какой цели эта задача решается. Очень интересно.<br />Спасибо!</p></blockquote></div><p> Токен должен быть пуст (у меня такое в тз). Если он не пуст, то выводится сообщение об этом, далее пользователь либо меняет токен, либо его инициализирует. Далее на токен записывается ключевой контейнер КриптоПро. Еще токенов может быть не один, с помощью второго подписывается.</p><p>Я ошибся, оказывается КриптоПро в PP_UNIQUE_CONTAINER возвращает и серийный номер токена. Но в msdn это не документировано.<br />Видимо придется так и делать. Недостаток подхода: на токене в принципе может быть ключевой контейнер не КриптоПро, а криптопровайдера, который даже не установлен в системе. Можете сказать, какие еще криптопровайдеры, кроме КриптоПро, записывают на токен не pkcs#11 объекты, наподобие ключевых контейнеров?<br />И еще один недостаток: нужно перебирать все ключевые контейнеры КриптоПро, но при переборе иногда происходит зависание на несколько секунд и более, видимо КриптоПро ожидает подключения отсоединенных токенов с ключевыми контейнерами. Надеюсь это решаемо.</p></blockquote></div><p>Спасибо большое за пояснение!<br />Тут ситуация еще более интересная получается. Кроме криптопровайдеров, которые могут хранить свои контейнеры на токене, может существовать еще масса приложений, которые могут хранить не только ключевые пары и сертификаты, но и различного рода идентификаторы, симметричные ключи, какие-то еще данные. И если подходить к вопросу со всей тщательностью, задачу в поставленных условиях можно и не решить надежным способом. Разве что проверить существование на токене каких-либо файлов и папок, которые созданы после его форматирования, то есть не существуют на токене по умолчанию, сразу после его форматирования. для этого придется сравнить дерево файлов и папок, которое получается на токене непосредственно после форматирования с текущим деревом для конкретного токена.<br />Отсюда вопрос - не является ли требование обязательного отсутствия объектов на токене избыточным для задачи?</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2014-07-30T11:16:02Z</updated>
			<id>https://forum.rutoken.ru/post/7425/#p7425</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7424/#p7424" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vladimir Ivanov пишет:</cite><blockquote><p>Добрый день!</p><p>Если не сложно, проясните пожалуйста, для какой цели эта задача решается. Очень интересно.<br />Спасибо!</p></blockquote></div><p> Токен должен быть пуст (у меня такое в тз). Если он не пуст, то выводится сообщение об этом, далее пользователь либо меняет токен, либо его инициализирует. Далее на токен записывается ключевой контейнер КриптоПро. Еще токенов может быть не один, с помощью второго подписывается.</p><p>Я ошибся, оказывается КриптоПро в PP_UNIQUE_CONTAINER возвращает и серийный номер токена. Но в msdn это не документировано.<br />Видимо придется так и делать. Недостаток подхода: на токене в принципе может быть ключевой контейнер не КриптоПро, а криптопровайдера, который даже не установлен в системе. Можете сказать, какие еще криптопровайдеры, кроме КриптоПро, записывают на токен не pkcs#11 объекты, наподобие ключевых контейнеров?<br />И еще один недостаток: нужно перебирать все ключевые контейнеры КриптоПро, но при переборе иногда происходит зависание на несколько секунд и более, видимо КриптоПро ожидает подключения отсоединенных токенов с ключевыми контейнерами. Надеюсь это решаемо.</p>]]></content>
			<author>
				<name><![CDATA[Ахат]]></name>
				<uri>https://forum.rutoken.ru/user/9495/</uri>
			</author>
			<updated>2014-07-30T04:40:08Z</updated>
			<id>https://forum.rutoken.ru/post/7424/#p7424</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7423/#p7423" />
			<content type="html"><![CDATA[<p>Добрый день!</p><p>Если не сложно, проясните пожалуйста, для какой цели эта задача решается. Очень интересно.<br />Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2014-07-29T10:16:06Z</updated>
			<id>https://forum.rutoken.ru/post/7423/#p7423</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7422/#p7422" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />1) предсказать то что случится в будущем я не возьмусь. Для существующих токенов легко померить. Общей формулы нет.<br />2) CryptGetProvParam(PP_ENUMREADERS) <br /><a href="http://cpdn.cryptopro.ru/content/csp36/html/group___pro_c_p_c_connection_1g0c54e3684e70ab469d529147c081106d.html">http://cpdn.cryptopro.ru/content/csp36/ … 1106d.html</a><br /><a href="http://cpdn.cryptopro.ru/content/csp36/html/struct___c_r_y_p_t___e_n_u_m_r_e_a_d_e_r___i_n_f_o___m_e_d_i_a.html">http://cpdn.cryptopro.ru/content/csp36/ … d_i_a.html</a> <br />3) я Вам обещал алгоритм, а Вы просите примеры. Это слегка разные вещи. Если всё таки нужен именно код, то мы, конечно, можем сделать его на заказ, но не бесплатно.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2014-07-29T09:16:04Z</updated>
			<id>https://forum.rutoken.ru/post/7422/#p7422</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7421/#p7421" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Кирилл Мещеряков пишет:</cite><blockquote><p>Если Вы хотите решить задачу определить наличие контейнера КриптоПро CSP более конкретно, то не обойтись без написания кода.<br />Мы для этого используем интерфейс ISO 7816, алгоритм можем подсказать.</p></blockquote></div><p>Подскажите, пожалуйста, можно на мою почту архив с близкими примерами и документацией.</p><p>Вообще, способы решения задачи определения наличия пользовательских данных (точнее любых не pkcs#11 пользовательских объектов, например, ключевых контейнеров КриптоПро) на рутокене вижу такие:<br />1. Ориентироваться на общую и свободную память рутокена. Но этот способ не точный, зависит от конкретного устройства. Нужен способ, годный и для будущих ваших устройств. Но это самый простой способ, годный как временное решение. Поэтому скажите, пожалуйста, каков размер на служебные данные в зависимости от токенов, выпускаемых сейчас и раньше? Это 4*1024 байт или 4*1000 байт для всех ваших токенов? Если занятый объем больше, значит там есть пользовательские данные?<br />2. Использовать криптопровайдер. Но тут надо использовать именно тот криптопровайдер, чьи контейнеры могут быть на токене, а этого мы не знаем заранее. Но пусть знаем, например, КриптоПро. Тут еще проблема: как через криптографические функции WinAPI получить серийный номер устройства (нам он нужен)? Можно конечно получить полное имя ключевого контейнера CryptGetProvParam(...PP_UNIQUE_CONTAINER...), но там нет серийного номера.<br />3. Низкоуровневый подход (ISO 7816, APDU команды). Пришлите, пожалуйста, на мою почту архив с близкими к этой задаче примерами и документацией, например APDU команд, поддерживаемых всеми рутокенами.</p>]]></content>
			<author>
				<name><![CDATA[Ахат]]></name>
				<uri>https://forum.rutoken.ru/user/9495/</uri>
			</author>
			<updated>2014-07-29T08:45:28Z</updated>
			<id>https://forum.rutoken.ru/post/7421/#p7421</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7416/#p7416" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Вы никогда не сможете сделать так чтобы на Рутокене Lite было ровно 64 кб памяти :) Конечно, есть служебные данные, есть место съедаемое файловой системой. Вы всегда можете рассчитвать на ~61700 байт на отформатированном чистом Рутокене Lite.</p><p>Если Вы хотите решить задачу определить наличие контейнера КриптоПро CSP более конкретно, то не обойтись без написания кода.<br />Мы для этого используем интерфейс ISO 7816, алгоритм можем подсказать.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2014-07-28T08:58:32Z</updated>
			<id>https://forum.rutoken.ru/post/7416/#p7416</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7413/#p7413" />
			<content type="html"><![CDATA[<p>На только что отформатированном (через Панель управления Рутокен) &quot;Rutoken lite 64K&quot; оказалось &quot;Public memory&nbsp; &nbsp; free: 61728, total: 65536<br />Private memory&nbsp; &nbsp; free: 61728, total: 65536&quot; , это уже почти 4Кб.<br />Это какие-то служебные данные? Каков их точный порог, если он есть? Как определить, что это не ключевой контейнер?<br />Вообще, минимальная задача определить отсутствие каких-либо пользовательских данных на рутокене. Как это делать? Через какой интерфейс проще? Есть примеры, близкие к ответу?<br />А лучше определять наличие ключевых контейнеров, например от КриптоПро. Как это делает &quot;Панель управления Рутокен&quot; во вкладке &quot;Сертификаты&quot;?</p>]]></content>
			<author>
				<name><![CDATA[Ахат]]></name>
				<uri>https://forum.rutoken.ru/user/9495/</uri>
			</author>
			<updated>2014-07-25T15:17:41Z</updated>
			<id>https://forum.rutoken.ru/post/7413/#p7413</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7399/#p7399" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ахат пишет:</cite><blockquote><p>Спасибо за ответ.<br />Вообще, минимальная задача определить пуст рутокен или нет. Пуст - значит нет не только объектов pkcs#11, но и ключевых контейнеров типа от КриптоПро.<br />Но даже после его форматирования (через Панель управления рутокен) далее через pkcs#11 получаю &quot;Public memory&nbsp; free: 30368, total: 32768;&nbsp; &nbsp;Private memory&nbsp; &nbsp;free: 30368, total: 32768&quot;.<br />Как определить отсутствие каких-либо пользовательских данных на рутокене?</p></blockquote></div><p>Это довольно просто. <br />Контейнер КриптоПро CSP вместе с ключами занимает порядка 4Кб. По оставшемуся объему свободной памяти Вы можете довольно точно оценить - есть он там или нет.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2014-07-23T14:13:18Z</updated>
			<id>https://forum.rutoken.ru/post/7399/#p7399</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7398/#p7398" />
			<content type="html"><![CDATA[<p>Спасибо за ответ.<br />Вообще, минимальная задача определить пуст рутокен или нет. Пуст - значит нет не только объектов pkcs#11, но и ключевых контейнеров типа от КриптоПро.<br />Но даже после его форматирования (через Панель управления рутокен) далее через pkcs#11 получаю &quot;Public memory&nbsp; free: 30368, total: 32768;&nbsp; &nbsp;Private memory&nbsp; &nbsp;free: 30368, total: 32768&quot;.<br />Как определить отсутствие каких-либо пользовательских данных на рутокене?</p>]]></content>
			<author>
				<name><![CDATA[Ахат]]></name>
				<uri>https://forum.rutoken.ru/user/9495/</uri>
			</author>
			<updated>2014-07-23T14:09:26Z</updated>
			<id>https://forum.rutoken.ru/post/7398/#p7398</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7397/#p7397" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ахат пишет:</cite><blockquote><p>Можно ли с помощью pkcs#11 или его расширения (без использования криптопровайдера) получить информацию о ключевых контейнерах на рутокене, записанных с помощью криптопровайдера, например, КриптоПро?<br />Если нет, то с помощью чего?<br />Как это делает &quot;Панель управления Рутокен&quot; во вкладке &quot;Сертификаты&quot;?<br />Ключевой контейнер не виден как CKO_CERTIFICATE, CKO_DATA, ...<br />Есть ли где-то пример или тема на форуме?</p></blockquote></div><p>Добрый день!</p><p>Контейнер КриптоПро CSP хранится в файлах несовместимых с интерфейсом PKCS#11. <br />Поэтому с КриптоПро CSP так сделать не получится.</p><p>С СигналКОМ CSP, ViPNet CSP и Лисси CSP контейнеры записываются через PKCS#11 и поэтому их можно прочитать и использовать через PKCS#11 интерфейс.</p>]]></content>
			<author>
				<name><![CDATA[Кирилл Мещеряков]]></name>
				<uri>https://forum.rutoken.ru/user/6786/</uri>
			</author>
			<updated>2014-07-23T12:30:51Z</updated>
			<id>https://forum.rutoken.ru/post/7397/#p7397</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Ключевые контейнеры через pkcs#11 или его расширение?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/7395/#p7395" />
			<content type="html"><![CDATA[<p>Можно ли с помощью pkcs#11 или его расширения (без использования криптопровайдера) получить информацию о ключевых контейнерах на рутокене, записанных с помощью криптопровайдера, например, КриптоПро?<br />Если нет, то с помощью чего?<br />Как это делает &quot;Панель управления Рутокен&quot; во вкладке &quot;Сертификаты&quot;?<br />Ключевой контейнер не виден как CKO_CERTIFICATE, CKO_DATA, ...<br />Есть ли где-то пример или тема на форуме?</p>]]></content>
			<author>
				<name><![CDATA[Ахат]]></name>
				<uri>https://forum.rutoken.ru/user/9495/</uri>
			</author>
			<updated>2014-07-23T10:22:17Z</updated>
			<id>https://forum.rutoken.ru/post/7395/#p7395</id>
		</entry>
</feed>
