<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Crypto API]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/1932/" />
	<updated>2013-09-12T09:44:24Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/1932/</id>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6591/#p6591" />
			<content type="html"><![CDATA[<p>да чтоже это за вселенская тайна, что никто не знает ответ на такой простой вопрос :) уже штук 10 форумов посетил и никто не может дать четкий вразумительный ответ :) мистика какая-то...</p>]]></content>
			<author>
				<name><![CDATA[SeregaZ]]></name>
				<uri>https://forum.rutoken.ru/user/9140/</uri>
			</author>
			<updated>2013-09-12T09:44:24Z</updated>
			<id>https://forum.rutoken.ru/post/6591/#p6591</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6585/#p6585" />
			<content type="html"><![CDATA[<p>изучаю CertGetIntendedKeyUsage</p><p>не совсем понял по поводу:<br />Return value<br />If the certificate does not have any intended key usage bytes, FALSE is returned and pbKeyUsage is zeroed. Otherwise, TRUE is returned and up to cbKeyUsage number of bytes are copied into pbKeyUsage. Any remaining bytes not copied are zeroed.</p><p>оно мне в любом случае - что все политики, что только конкретные политики - возвращает 1... а мне надо что-то типа если есть все политики - 1, только какие-то конкретные политики - 0.</p>]]></content>
			<author>
				<name><![CDATA[SeregaZ]]></name>
				<uri>https://forum.rutoken.ru/user/9140/</uri>
			</author>
			<updated>2013-09-10T15:18:13Z</updated>
			<id>https://forum.rutoken.ru/post/6585/#p6585</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6584/#p6584" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SeregaZ пишет:</cite><blockquote><p>а тут не я главный. сертификаты уже есть в системе - и на нашем галимом гос портале не принимаются сертификаты, у которых нет свойства &quot;идентификация клиента на сервере&quot; или нет &quot;все политики применения&quot;. то есть для успешного входа должно быть или то или то. вот я и хотел бы создать утилиту, которая бы проверяла наличие этих свойств у этих установленных сертификатов и вижжала бы дурным голосом, в случае если они оба отсутствуют. то есть чтоб пользователь знал, что сертификат не рабочий. </p><p>вот первое я нашел 1.3.6.1.5.5.7.3.2, получаю в случае если сертификат имеет это свойство, или даже если сертификат имел &quot;все политики&quot;, но были насильно помечены лишь некоторые из этих политик через оснастку. а вот если были &quot;все политики&quot; без пометки этих дополнительных галок свойство - тогда я пролетаю. вот мне бы команду, которая бы четко говорила что сертификат имеет &quot;все политики применения&quot;...</p></blockquote></div><p>Вот что в RFC 5280 написано:<br />anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 }</p><p>Можно еще попробовать CertGetIntendedKeyUsage</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-09-10T14:47:20Z</updated>
			<id>https://forum.rutoken.ru/post/6584/#p6584</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6583/#p6583" />
			<content type="html"><![CDATA[<p>а тут не я главный. сертификаты уже есть в системе - и на нашем галимом гос портале не принимаются сертификаты, у которых нет свойства &quot;идентификация клиента на сервере&quot; или нет &quot;все политики применения&quot;. то есть для успешного входа должно быть или то или то. вот я и хотел бы создать утилиту, которая бы проверяла наличие этих свойств у этих установленных сертификатов и вижжала бы дурным голосом, в случае если они оба отсутствуют. то есть чтоб пользователь знал, что сертификат не рабочий. </p><p>вот первое я нашел 1.3.6.1.5.5.7.3.2, получаю в случае если сертификат имеет это свойство, или даже если сертификат имел &quot;все политики&quot;, но были насильно помечены лишь некоторые из этих политик через оснастку. а вот если были &quot;все политики&quot; без пометки этих дополнительных галок свойство - тогда я пролетаю. вот мне бы команду, которая бы четко говорила что сертификат имеет &quot;все политики применения&quot;...</p>]]></content>
			<author>
				<name><![CDATA[SeregaZ]]></name>
				<uri>https://forum.rutoken.ru/user/9140/</uri>
			</author>
			<updated>2013-09-10T13:58:18Z</updated>
			<id>https://forum.rutoken.ru/post/6583/#p6583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6582/#p6582" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SeregaZ пишет:</cite><blockquote><p>эм... а не являясь клиентом подсказку получить нельзя?</p></blockquote></div><p>Почему же нельзя? Можно.<br />Вообще говоря, все зависит от требований к системе или политик. То есть Вы можете требовать наличия EKU в сертификате, а сертификаты&nbsp; без EKU вообще не принимать. Решать то есть Вам.</p><p>RFC5280:<br />&quot;Certificate using applications MAY require that the extended key usage extension be present and that a particular purpose be indicated in order for the certificate to be acceptable to that application.&quot;</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-09-10T13:50:08Z</updated>
			<id>https://forum.rutoken.ru/post/6582/#p6582</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6581/#p6581" />
			<content type="html"><![CDATA[<p>эм... а не являясь клиентом подсказку получить нельзя?</p>]]></content>
			<author>
				<name><![CDATA[SeregaZ]]></name>
				<uri>https://forum.rutoken.ru/user/9140/</uri>
			</author>
			<updated>2013-09-10T13:12:04Z</updated>
			<id>https://forum.rutoken.ru/post/6581/#p6581</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6580/#p6580" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SeregaZ пишет:</cite><blockquote><p>не специалист и особо в этом не понимаю, но хотелось бы получить консультацию по одному небольшому вопросу:<br />сертификаты, уже установленные в системе, имеют различные наборы их применения - одни для подписывания почты, другие для идентификации клиента на сервере... там может быть различные сочетания этих политик применения. насколько я понял их следует читать из поля &quot;улучшенный ключ&quot; посредством CertGetEnhancedKeyUsage. (в моем случае требуется получить 1.3.6.1.5.5.7.3.2 - идентификация клиента на сервере). и я вроде это сделал... но тут возникла другая проблема: некоторые сертификаты имеют свойство &quot;все политики применения&quot; - в этом случае поля &quot;улучшенный ключ&quot; не существует и соответственно моя CertGetEnhancedKeyUsage - не работает. каким образом я могу получить это свойство &quot;все политики применения&quot;? какую команду мне следует использовать? <br />нынешняя последовательность команд такая:<br />1. CertOpenSystemStore - открываем хранилище, например My<br />2. CertEnumCertificatesInStore - гоняем по циклу все личные сертификаты<br />3. CertGetEnhancedKeyUsage - в первый раз получаем размер<br />4. CertGetEnhancedKeyUsage - во второй раз получаем уже сам массив политик применения<br />5. CertCloseStore - закрываем хранилище</p><p>вот что мне следует использовать вместо второй CertGetEnhancedKeyUsage (пункт 4), если первая CertGetEnhancedKeyUsage (пункт 3) вернет в качестве размера массива 0? или возврат 0 уже и есть доказательство, что сертификат имеет &quot;все политики&quot;? я полагаю если сертификат какой-либо корявый, то CertGetEnhancedKeyUsage тоже вернет 0...</p></blockquote></div><p>Здравствуйте!<br />Какой CSP Вы используете?</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-09-10T12:00:09Z</updated>
			<id>https://forum.rutoken.ru/post/6580/#p6580</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6579/#p6579" />
			<content type="html"><![CDATA[<p>не специалист и особо в этом не понимаю, но хотелось бы получить консультацию по одному небольшому вопросу:<br />сертификаты, уже установленные в системе, имеют различные наборы их применения - одни для подписывания почты, другие для идентификации клиента на сервере... там может быть различные сочетания этих политик применения. насколько я понял их следует читать из поля &quot;улучшенный ключ&quot; посредством CertGetEnhancedKeyUsage. (в моем случае требуется получить 1.3.6.1.5.5.7.3.2 - идентификация клиента на сервере). и я вроде это сделал... но тут возникла другая проблема: некоторые сертификаты имеют свойство &quot;все политики применения&quot; - в этом случае поля &quot;улучшенный ключ&quot; не существует и соответственно моя CertGetEnhancedKeyUsage - не работает. каким образом я могу получить это свойство &quot;все политики применения&quot;? какую команду мне следует использовать? <br />нынешняя последовательность команд такая:<br />1. CertOpenSystemStore - открываем хранилище, например My<br />2. CertEnumCertificatesInStore - гоняем по циклу все личные сертификаты<br />3. CertGetEnhancedKeyUsage - в первый раз получаем размер<br />4. CertGetEnhancedKeyUsage - во второй раз получаем уже сам массив политик применения<br />5. CertCloseStore - закрываем хранилище</p><p>вот что мне следует использовать вместо второй CertGetEnhancedKeyUsage (пункт 4), если первая CertGetEnhancedKeyUsage (пункт 3) вернет в качестве размера массива 0? или возврат 0 уже и есть доказательство, что сертификат имеет &quot;все политики&quot;? я полагаю если сертификат какой-либо корявый, то CertGetEnhancedKeyUsage тоже вернет 0...</p>]]></content>
			<author>
				<name><![CDATA[SeregaZ]]></name>
				<uri>https://forum.rutoken.ru/user/9140/</uri>
			</author>
			<updated>2013-09-10T11:51:55Z</updated>
			<id>https://forum.rutoken.ru/post/6579/#p6579</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6441/#p6441" />
			<content type="html"><![CDATA[<p>Спасибо, теперь все понятно. Видимо мне КриптоПро не подходит, буду пробовать с другими криптопровайдерами.</p>]]></content>
			<author>
				<name><![CDATA[Helloween]]></name>
				<uri>https://forum.rutoken.ru/user/9075/</uri>
			</author>
			<updated>2013-07-24T10:54:08Z</updated>
			<id>https://forum.rutoken.ru/post/6441/#p6441</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6440/#p6440" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Helloween пишет:</cite><blockquote><div class="quotebox"><blockquote><p>КриптоПро CSP не задействует криптографические возможности токенов, а использует их исключительно в качестве ключевых носителей. В данном случае и не обязательно применять Рутокен ЭЦП, достаточно Рутокен S или Рутокен Lite.</p></blockquote></div><p>Но закрытый ключ на токене неизвлекаемый же должен быть. Каким образом КриптоПро его получает?</p></blockquote></div><p>КриптоПро CSP генерирует ключи без участия токена и хранит их в специальных файлах-контейнерах, которые находятся на ключевом носителе. Для работы с этими ключами контейнер считывается с носителя и обрабатывается КриптоПро CSP.<br />КриптоПро Рутокен CSP работает иначе.</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-07-24T10:40:16Z</updated>
			<id>https://forum.rutoken.ru/post/6440/#p6440</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6439/#p6439" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>КриптоПро CSP не задействует криптографические возможности токенов, а использует их исключительно в качестве ключевых носителей. В данном случае и не обязательно применять Рутокен ЭЦП, достаточно Рутокен S или Рутокен Lite.</p></blockquote></div><p>Но закрытый ключ на токене неизвлекаемый же должен быть. Каким образом КриптоПро его получает?</p>]]></content>
			<author>
				<name><![CDATA[Helloween]]></name>
				<uri>https://forum.rutoken.ru/user/9075/</uri>
			</author>
			<updated>2013-07-24T10:28:03Z</updated>
			<id>https://forum.rutoken.ru/post/6439/#p6439</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6438/#p6438" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Helloween пишет:</cite><blockquote><p>Нужно обеспечить подписание, шифрование ГОСТовыми алгоритмами с использованием Rutoken (возможен вариант через Crypto-PRO), используя CryptoAPI, дело в том что пока удалось подписывать и шифровать только через этот криптопровайдер (Active Rutoken CSP), пробую через Крипто-про, но почему то ошибка все равно возникает что криптопровайдер не поддерживает алгоритм.</p></blockquote></div><p>Если есть требование обеспечивать подпись на неизвлекаемом ключе &quot;на борту&quot; токена и использовать для этого именно интерфейс CryptoAPI, придется использовать CSP типа Signal-COM CSP или ViPNet CSP (последний вроде даже бесплатный).</p><p>КриптоПро CSP не задействует криптографические возможности токенов, а использует их исключительно в качестве ключевых носителей. В данном случае и не обязательно применять Рутокен ЭЦП, достаточно Рутокен S или Рутокен Lite.</p><p>КриптоПро Рутокен CSP - это отдельный криптопровайдер, который задейсвует криптографически возможности Рутокена, используя<br />спецификацию ФКН. Существует отдельная же модификация Рутокен ЭЦП, поддерживающая ФКН. С тем токеном, что имеется у Вас, оно работать не будет. Такие токены входят в поставку КриптоПро Рутокен CSP.</p><div class="quotebox"><cite>Helloween пишет:</cite><blockquote><p>Насколько я понимаю КриптоПро Рутокен CSP это как раз прослойка между PKCS11 интерфейсом токена и КриптоПро, но вот что-то не заводится.</p></blockquote></div><br /><p>Нет, это не так. Там отдельный интерфейс на базе PC/SC, PKCS#11 там не задействуется.</p><div class="quotebox"><cite>Helloween пишет:</cite><blockquote><p>Когда генерирую запрос на сертификат, то если использую криптопровайдер &quot;Active Rutoken CSP&quot;, то появляется окно с запросом пароля, а если через Crypto-Pro GOST R 34.10-2001&nbsp; Cryptographic Service Provider, то он просит выбрать носитель, но токен выбрать не дает, говорит что устройство недоступно или не отформатировано.<br />Непонятно почему криптоПро не может обратиться к токену. КриптоПро 3.6.6497.</p></blockquote></div><p>Правильно, потому что КриптоПро Рутокен CSP работает со специальными токенами, а не с обычными Рутокен ЭЦП.</p><br /><div class="quotebox"><cite>Helloween пишет:</cite><blockquote><p>Rutoken CSP - зачем добавился этот криптопровайдер?</p></blockquote></div><p>Этот криптопровайдер используется, например для аутентификации в домене Active Directory, он задействует RSA.</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-07-24T10:18:41Z</updated>
			<id>https://forum.rutoken.ru/post/6438/#p6438</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6437/#p6437" />
			<content type="html"><![CDATA[<p>Удалил КриптоПро вообще, поставил только КриптоПро Рутокен CSP, остался крипто провайдер GOST R 34.10-2001 Rutoken CSP, при запросе на сертификат ошибка 0x8009001F. Окна для ввода пароля не появляется. В реестре HKLM\microsoft\cryptography\calias\smartcards\ есть ветка CP_Rutoken_FKC в поле CryptoProvider GOST R 34.10-2001 Rutoken CSP. Есть записи Rutoken,RutokenECP с криптопровайдером Active Rutoken CSP.</p>]]></content>
			<author>
				<name><![CDATA[Helloween]]></name>
				<uri>https://forum.rutoken.ru/user/9075/</uri>
			</author>
			<updated>2013-07-24T09:40:20Z</updated>
			<id>https://forum.rutoken.ru/post/6437/#p6437</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6436/#p6436" />
			<content type="html"><![CDATA[<p>Нужно обеспечить подписание, шифрование ГОСТовыми алгоритмами с использованием Rutoken (возможен вариант через Crypto-PRO), используя CryptoAPI, дело в том что пока удалось подписывать и шифровать только через этот криптопровайдер (Active Rutoken CSP), пробую через Крипто-про, но почему то ошибка все равно возникает что криптопровайдер не поддерживает алгоритм.</p><p>Установил КриптоПро Рутокен CSP. В КриптоПро настроил считыватели смарт карт. КриптоПро Рутокен CSP токен видит, но сертификаты на нем не видно через &quot;Просмотреть сертификаты в контейнере...&quot;, хотя они там есть (через rtCert их видно.). Есть криптопровайдер Crypto-Pro GOST R 34.10-2001&nbsp; Cryptographic Service Provider и GOST R 34.10-2001 Rutoken CSP. Через КриптоПро когда ключи находятся в реестре подписывается успешно. Вставляю токен, в хранилище &quot;Личное&quot; появляются сертификаты, которые на токене, но при подписании одним из сертификатов (CryptSignMessage) возникает ошибка, соответствующая тому что криптопровайдер не поддерживает алгоритм (при использовании ГОСТ алгоритмов). </p><p>Насколько я понимаю КриптоПро Рутокен CSP это как раз прослойка между PKCS11 интерфейсом токена и КриптоПро, но вот что-то не заводится.</p><p>Когда генерирую запрос на сертификат, то если использую криптопровайдер &quot;Active Rutoken CSP&quot;, то появляется окно с запросом пароля, а если через Crypto-Pro GOST R 34.10-2001&nbsp; Cryptographic Service Provider, то он просит выбрать носитель, но токен выбрать не дает, говорит что устройство недоступно или не отформатировано.</p><p>Вроде подробно описал что происходит.</p><p>Мне нужно генерировать сертификат с использованием Crypto-Pro GOST R 34.10-2001&nbsp; Cryptographic Service Provider или GOST R 34.10-2001 Rutoken CSP ,или это не принципиально? OST R 34.10-2001 Rutoken CSP - зачем добавился этот криптопровайдер? Непонятно почему криптоПро не может обратиться к токену. КриптоПро 3.6.6497.</p>]]></content>
			<author>
				<name><![CDATA[Helloween]]></name>
				<uri>https://forum.rutoken.ru/user/9075/</uri>
			</author>
			<updated>2013-07-24T07:14:01Z</updated>
			<id>https://forum.rutoken.ru/post/6436/#p6436</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Crypto API]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/6435/#p6435" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Helloween пишет:</cite><blockquote><p>Rutoken ECP <br />Версия: 16.00.09.00</p><p>Это?</p><p>Я использую криптопровайдер Aktiv Rutoken CSP v1.0.</p></blockquote></div><p>Да, спасибо. <br />Криптопровайдер Aktiv Rutoken CSP не поддерживает шифрование и подпись по ГОСТовым алгоритмам, увы.<br />Функции, связанные с ГОСТовыми алгоритмами, реализованы в библиотеках PKCS#11, соответственно их можно использовать из OpenSSL с поддержкой ГОСТ, из Рутокен плагина (<a href="https://www.rutoken.ru/products/all/rutoken-plugin/">https://www.rutoken.ru/products/all/rutoken-plugin/</a>), а также из различных крипторовайдеров (например Signal-COM CSP, ViPNet CSP).<br />Опишите пожалуйста задачу, которую нужно решить.</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2013-07-24T06:49:42Z</updated>
			<id>https://forum.rutoken.ru/post/6435/#p6435</id>
		</entry>
</feed>
