<?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/2621" />
	<updated>2017-04-27T09:41:53Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2621/</id>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10814/#p10814" />
			<content type="html"><![CDATA[<p>Добрый день, Владимир. На данный момент все стало понятно. Благодарю за помощь.</p>]]></content>
			<author>
				<name><![CDATA[uzater]]></name>
				<uri>https://forum.rutoken.ru/user/10675/</uri>
			</author>
			<updated>2017-04-27T09:41:53Z</updated>
			<id>https://forum.rutoken.ru/post/10814/#p10814</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10813/#p10813" />
			<content type="html"><![CDATA[<p>Добрый день, <strong>uzater</strong>.</p><p>Импорт ключей (даже открытой части) ГОСТ 34.10-01 и ГОСТ 34.10-12 запрещен регулятором - ФСБ. </p><p>Если Ваша цель выработка общего ключа и дальнейшего шифрования данных, то специально для Вас был создан алгоритм VKO (<a href="https://ru.wikipedia.org/wiki/ГОСТ_Р_34.10-2012">https://ru.wikipedia.org/wiki/ГОСТ_Р_34.10-2012</a>). Он позволяет сделать общие ключи без импорта открытого ключа. Смотрите наш пример - sdk\pkcs11\samples\Standard\VKO-GOST34.10-2001 или sdk\pkcs11\samples\Standard\VKO-GOST34.10-2012</p><p>Что касается сценарий - создания подписи при помощи одного устройства и ее проверки при помощи другого - к сожалению, проверку можно сделать только программно. Это достаточно странно, но это не наше желание, а требование регулятора.</p>]]></content>
			<author>
				<name><![CDATA[Владимир Салыкин]]></name>
				<uri>https://forum.rutoken.ru/user/10195/</uri>
			</author>
			<updated>2017-04-27T07:53:25Z</updated>
			<id>https://forum.rutoken.ru/post/10813/#p10813</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10810/#p10810" />
			<content type="html"><![CDATA[<p>По поводу сертификатов - тут я наврал немного. Для его создания необходим и закрытый ключ, просто из извлеченного с токена открытого ключа его создать не получится.<br />Но суть в том, что у меня был готовый контейнер PKCS#12, созданный ранее при помощи OpenSSL, я его импортировал на токен, на нем появился открытый ключ RSA с атрибутом CKA_TOKEN = true, то есть возможность создать ключ как объект токена присутствует.<br /></p><div class="quotebox"><blockquote><p>Я правильно понимаю, что вы хотите сгенерировать ключевую пару на одном токене, а затем создать копию открытого ключа?</p></blockquote></div><p>Да, генерировать пару на одном устройстве и перенести открытый ключ на другой токен (точно такой же Рутокен ЭЦП 2.0 Flash). Например, для создания подписи при помощи одного устройства и ее проверки при помощи другого, или для выработки общего ключа и дальнейшего шифрования данных.<br />В общем, можно задать вопрос проще. Как распространять открытые ключи между устройствами? Может быть и правда есть другие варианты и Вы их подскажете.</p><p>Update. Немного покопался, почитал стандарт pkcs11, взял оттуда шаблон создания публичного ключа RSA, и все заработало. Видимо, возившись с 34.10 не все правильно делал с RSA. (В вашей документации шаблон аналогичный, только небольшая неточность, параметр CKK_RSA указан как CKK_GENERIC_RSA, остальное аналогично стандарту). В общем, создать открытый ключ RSA как объект токена получилось. А вот с ГОСТ 34.10-01 и ГОСТ 34.10-12 по прежнему все та же ошибка.</p>]]></content>
			<author>
				<name><![CDATA[uzater]]></name>
				<uri>https://forum.rutoken.ru/user/10675/</uri>
			</author>
			<updated>2017-04-26T16:04:39Z</updated>
			<id>https://forum.rutoken.ru/post/10810/#p10810</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10806/#p10806" />
			<content type="html"><![CDATA[<p>Добрый день, <strong>uzater</strong>.</p><p>Как создавали сертификат с помощью OpenSSL?<br />Я правильно понимаю, что вы хотите сгенерировать ключевую пару на одном токене, а затем создать копию открытого ключа? Нам очень поможет, если Вы расскажете подробнее, что у Вас за проект и что Вы хотите сделать. Возможно есть более простые варианты.</p>]]></content>
			<author>
				<name><![CDATA[Владимир Салыкин]]></name>
				<uri>https://forum.rutoken.ru/user/10195/</uri>
			</author>
			<updated>2017-04-26T10:47:13Z</updated>
			<id>https://forum.rutoken.ru/post/10806/#p10806</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10800/#p10800" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Генерация ключевой пары при помощи вызова C_GenerateKeyPair происходит успешно (34.10-01, 34.10-12, RSA). Далее возникает необходимость извлечь значение открытого ключа и записать его на другой токен. Получение значения ключа (CKA_VALUE, вызов функции C_GetAttributeValue) также происходит без проблем. Но вот создание объекта типа ключ с таким значением на другом токене (функция C_CreateObject) завершается с описанной выше ошибкой (но как объект сессии ключ создается успешно).<br />Если сторонники средствами (например, OpenSSL) создать сертификат, затем через утилиту Панель управления Рутокен импортировать этот сертификат на токен и программно найти содержащиеся на нем ключи, то открытый ключ из сертификата будет присутствовать на устройстве, и значение атрибута CKA_TOKEN у него будет равняться True. Как я предполагаю, происходит как раз создание объекта типа сертификат и объекта типа открытый ключ, привязанного к созданному сертификату. Из этого можно сделать вывод, что создать открытый ключ с заданным значением как объект токена возможно. Но при использовании описанного вами в документации шаблона параметров создания ключа возникает ошибка (аналогично и при создании ключа RSA).<br />По сути, есть неудобный способ генерации ключевой пары, извлечения открытого ключа, создания сертификата с этом ключом, импорт сертификата на другое устройство с помощью вашей утилиты. Но хотелось бы следать все программно, и без создания сертификатов. Тем более, этот способ описан в документации. Надеюсь, эту проблему можно решить.</p>]]></content>
			<author>
				<name><![CDATA[uzater]]></name>
				<uri>https://forum.rutoken.ru/user/10675/</uri>
			</author>
			<updated>2017-04-25T14:21:16Z</updated>
			<id>https://forum.rutoken.ru/post/10800/#p10800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10799/#p10799" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Попробуйте запустить наш пример из SDK - sdk\pkcs11\samples\Standard\CreateGOST34.10-2001<br />Получится создать пару?</p>]]></content>
			<author>
				<name><![CDATA[Владимир Салыкин]]></name>
				<uri>https://forum.rutoken.ru/user/10195/</uri>
			</author>
			<updated>2017-04-25T11:56:17Z</updated>
			<id>https://forum.rutoken.ru/post/10799/#p10799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Не получается создать открытый ключ на токене]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/10779/#p10779" />
			<content type="html"><![CDATA[<p>Использую Рутокен ЭЦП 2.0 Flash.<br />Не получается создать на устройстве открытый ключ.<br />В документации (ссылка: <a href="https://developer.rutoken.ru/pages/viewpage.action?pageId=3178529">https://developer.rutoken.ru/pages/view … Id=3178529</a>) описан шаблон создания открытого ключа ГОСТ Р 34.10-2001<br /></p><div class="codebox"><pre><code>CK_OBJECT_CLASS your_class = CKO_PUBLIC_KEY;
CK_KEY_TYPE keyType = CKK_GOSTR3410;
CK_UTF8CHAR label[] = “A GOST R34.10-2001 public_key object”;
CK_BYTE gostR3410params_oid[] = {0x06, 0x07, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x23, 0x00};
CK_BYTE gostR3411params_oid[] = {0x06, 0x07, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x1e, 0x00};
CK_BYTE gost28147params_oid[] = {0x06, 0x07, 0x2a, 0x85, 0x03, 0x02, 0x02, 0x1f, 0x00};
CK_BYTE value[64] = {...};
CK_BBOOL IsTrue = CK_TRUE;

CK_ATTRIBUTE template[] = {
    {CKA_CLASS, &amp;your_class, sizeof(your_class)},
    {CKA_KEY_TYPE, &amp;keyType, sizeof(keyType)},
    {CKA_TOKEN, &amp;IsTrue, sizeof(IsTrue)},
    {CKA_LABEL, label, sizeof(label)-1},
    {CKA_GOSTR3410PARAMS, gostR3410params_oid, sizeof(gostR3410params_oid)},
    {CKA_GOSTR3411PARAMS, gostR3411params_oid, sizeof(gostR3411params_oid)},
    {CKA_GOST28147_PARAMS, gost28147params_oid, sizeof(gost28147params_oid)},
    {CKA_VALUE, value, sizeof(value)}
};</code></pre></div><p>При создании - ошибка CKR_TEMPLATE_INCONSISTENT. Аналогично и при использовании ГОСТ 34.10-2012. При задании в false значения атрибута CKA_TOKEN ключ создается без ошибки. Подскажите, в чем может быть проблема?</p>]]></content>
			<author>
				<name><![CDATA[uzater]]></name>
				<uri>https://forum.rutoken.ru/user/10675/</uri>
			</author>
			<updated>2017-04-22T13:32:57Z</updated>
			<id>https://forum.rutoken.ru/post/10779/#p10779</id>
		</entry>
</feed>
