<?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/2743/" />
	<updated>2022-09-30T08:16:01Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2743/</id>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/18488/#p18488" />
			<content type="html"><![CDATA[<p><strong>serj965</strong>, </p><div class="quotebox"><blockquote><p>Method C_Encrypt returned CKR_DATA_LEN_RANGE</p></blockquote></div><p>Похоже вы шифруете сообщение или в CBC режиме, или в ECB. ECB не позволяет шифровать более 32 байтов информации, так как режим используется только для шифрования ключей. </p><p>ФСС использует CBC без мешинга -- CRYPT_MODE_CBC (а не CRYPT_MODE_CBCRFC4357). <br />У нас есть этот случай в примере на С:<br /></p><div class="codebox"><pre><code>/*************************************************************************
            * Для алгоритма ГОСТ 28147 механизм усложнения ключа предусматривает     *
            * преобразование синхропосылки через каждый килобайт данных.             *
            *                                                                        *
            * Для совместимости с КриптоПро CSP при использовании режима             *
            * CRYPT_MODE_CBC закомментировать следующие 5 строк кода                 *
            * (выбранный режим не осуществляет это преобразование)                   *
            *************************************************************************/
            printf(&quot;  Key Meshing(set IV)\n&quot;);
            rv = functionList-&gt;C_EncryptInit(session, &amp;gost28147EncDecEcbMech, encKey);
            CHECK_AND_LOG(&quot;   C_EncryptInit&quot;, rv == CKR_OK, rvToStr(rv), free_encrypted);
            rv = functionList-&gt;C_Encrypt(session, encryptedRound, GOST28147_89_BLOCK_SIZE, encryptedRound, &amp;blockSize);
            CHECK_AND_LOG(&quot;   C_Encrypt&quot;, rv == CKR_OK, rvToStr(rv), free_encrypted);</code></pre></div><br /><div class="quotebox"><blockquote><p>Method C_EncryptFinal returned CKR_OPERATION_NOT_INITIALIZED</p></blockquote></div><p>Непоточное шифрование должно происходить при помощи вызова следующих функций:</p><ul><li><p>C_EncryptInit;</p></li><li><p>C_Encrypt.</p></li></ul><p>Поточное же шифрование производится вот так:</p><ul><li><p>C_EncryptInit;</p></li><li><p>C_EncryptUpdate (0 или более раз);</p></li><li><p>C_EncryptFinal.</p></li></ul><br /><p>Похоже у вас следующий порядок вызовов:</p><ul><li><p>C_EncryptInit;</p></li><li><p>C_Encrypt;</p></li><li><p>C_EncryptFinal.</p></li></ul><p>Что и приводит к неинициализированной операции на последнем вызове, так как операция уже была трактована как непоточная.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2022-09-30T08:16:01Z</updated>
			<id>https://forum.rutoken.ru/post/18488/#p18488</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/18484/#p18484" />
			<content type="html"><![CDATA[<p>Спасибо. Получилось всё, кроме шифрования сообщения.</p><p>В случае использования session.Encrypt, параметризованного массивом байтов - возвращает ошибку &#039;Method C_Encrypt returned CKR_DATA_LEN_RANGE&#039;.<br />В случае session.Encrypt, параметризованного потоками - возвращает Method C_EncryptFinal returned CKR_OPERATION_NOT_INITIALIZED&#039;.</p><p>Наверное это по причине&nbsp; непонимания мною PKCS#11. Думаю оставить затею самостоятельной реализации.</p>]]></content>
			<author>
				<name><![CDATA[serj965]]></name>
				<uri>https://forum.rutoken.ru/user/12703/</uri>
			</author>
			<updated>2022-09-29T16:48:53Z</updated>
			<id>https://forum.rutoken.ru/post/18484/#p18484</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/18454/#p18454" />
			<content type="html"><![CDATA[<p><strong>serj965</strong>, </p><p><a href="https://cabinets-test.fss.ru/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%AD%D0%9B%D0%9D_%D0%9C%D0%9E_v_1_1_20180412.doc">ФСС использует</a> для передачи шифрованных сообщений&nbsp; формат XML.</p><p>PKCS#11 умеет шифровать по ГОСТ 28147-89, но для обертки в формат XML нужны будут другие библиотеки.</p><p>Вам помогут примеры из <a href="https://www.rutoken.ru/support/download/get/sdk.html">комплекта разработчика Рутокен</a>.<br />Для получения симметричного ключа шифрования из ключевой пары смотрите пример:<br />sdk\pkcs11\samples\Standard\VKO-GOST34.10-&lt;Алгоритм&gt;</p><p>Для шифрования:<br />sdk\pkcs11\samples\Standard\ EncDecGOST28147-89-&lt;Алгоритм&gt;</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2022-09-28T15:11:25Z</updated>
			<id>https://forum.rutoken.ru/post/18454/#p18454</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/18453/#p18453" />
			<content type="html"><![CDATA[<p>Добрый вечер. Также столкулся с проблемой генерации и шифрования сессионного ключа. Проблему генерации вроде понял как решать - нашёл пример в SDK, но как правильно его зашифровать публичным ключом ФСС - не понял.</p>]]></content>
			<author>
				<name><![CDATA[serj965]]></name>
				<uri>https://forum.rutoken.ru/user/12703/</uri>
			</author>
			<updated>2022-09-28T15:02:54Z</updated>
			<id>https://forum.rutoken.ru/post/18453/#p18453</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15674/#p15674" />
			<content type="html"><![CDATA[<p>В ходе удаленного подключения убедились, что ключи записаны с неправильным параметром.<br />В данном случае необходимо обращаться в удостоверяющий центр выпустивший сертификат.</p>]]></content>
			<author>
				<name><![CDATA[Николай Киблицкий]]></name>
				<uri>https://forum.rutoken.ru/user/10598/</uri>
			</author>
			<updated>2021-06-28T13:28:46Z</updated>
			<id>https://forum.rutoken.ru/post/15674/#p15674</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15662/#p15662" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Николай Киблицкий пишет:</cite><blockquote><p>Для проверки войдите на <a href="http://ra.rutoken.ru">ra.rutoken.ru</a> и попробуйте подписать сертификатом документ: кнопка «Подписать» - выбираете файл.<br />Если подписать удалось – с сертификатом все в порядке.<br />Если подписать не удалось и появилась ошибка «Соответствующая сертификату ключевая пара не найдена», у ключей неверный параметр.</p></blockquote></div><p>Подписать документ с помощью данной ЭЦП возможно. Не получается осуществить шифрование для обмена с ФСС. Пока на этапе получения симметричного ключа шифрования на фукнции C_DeriveKey.</p><div class="quotebox"><cite>Николай Киблицкий пишет:</cite><blockquote><p>Посмотреть параметры, установленные в ключах, можно с помощью программы <a href="https://www.pkcs11admin.net/">pkcs11admin</a>. Мы можем удаленно подключиться и проверить правильность параметров или написать вам инструкцию по использованию этой программы.</p></blockquote></div><p>Да, если можно, поясните, как посмотреть параметры приватного ключа. Т.к. через программу виден публичный ключ.</p>]]></content>
			<author>
				<name><![CDATA[Ирина Казакевич]]></name>
				<uri>https://forum.rutoken.ru/user/11248/</uri>
			</author>
			<updated>2021-06-21T11:14:16Z</updated>
			<id>https://forum.rutoken.ru/post/15662/#p15662</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15661/#p15661" />
			<content type="html"><![CDATA[<p>Здравствуйте, <strong>Ирина Казакевич</strong>.<br /></p><div class="quotebox"><cite>Ирина Казакевич пишет:</cite><blockquote><p>То есть имеющийся ключ сгенерирован уже с таким параметром?</p></blockquote></div><p>Да, при генерации ключей был установлен атрибут: CKA_DERIVE – FALSE.<br /></p><div class="quotebox"><cite>Ирина Казакевич пишет:</cite><blockquote><p>Нужно обращаться к тому, кто выдал ключ?</p></blockquote></div><p>Да, вам нужно будет обратиться в удостоверяющий центр, выпустивший электронную подпись для получения новой подписи, с правильным параметром.<br />Если у сотрудников удостоверяющего центра возникнут проблемы с изменением данного параметра, они могут обратиться к нам за консультацией.<br /></p><div class="quotebox"><cite>Ирина Казакевич пишет:</cite><blockquote><p>Можно с помощью какой-то утилиты в этом убедится, что эта ЭЦП 2.0 имеет такой параметр False?</p></blockquote></div><p>Для проверки войдите на <a href="http://ra.rutoken.ru">ra.rutoken.ru</a> и попробуйте подписать сертификатом документ: кнопка «Подписать» - выбираете файл.<br />Если подписать удалось – с сертификатом все в порядке.<br />Если подписать не удалось и появилась ошибка «Соответствующая сертификату ключевая пара не найдена», у ключей неверный параметр.</p><p>Посмотреть параметры, установленные в ключах, можно с помощью программы <a href="https://www.pkcs11admin.net/">pkcs11admin</a>. Мы можем удаленно подключиться и проверить правильность параметров или написать вам инструкцию по использованию этой программы.</p>]]></content>
			<author>
				<name><![CDATA[Николай Киблицкий]]></name>
				<uri>https://forum.rutoken.ru/user/10598/</uri>
			</author>
			<updated>2021-06-21T09:58:18Z</updated>
			<id>https://forum.rutoken.ru/post/15661/#p15661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15656/#p15656" />
			<content type="html"><![CDATA[<p>То есть имеющийся ключ сгенерирован уже с таким параметром?<br />Нужно обращаться к тому, кто выдал ключ?</p><p>Можно с помощью какой-то утилиты в этом убедится, что эта ЭЦП 2.0 имеет такой параметр False?</p>]]></content>
			<author>
				<name><![CDATA[Ирина Казакевич]]></name>
				<uri>https://forum.rutoken.ru/user/11248/</uri>
			</author>
			<updated>2021-06-21T07:24:23Z</updated>
			<id>https://forum.rutoken.ru/post/15656/#p15656</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15655/#p15655" />
			<content type="html"><![CDATA[<p><strong>Ирина Казакевич</strong>, добрый день!</p><p>CKA_DERIVE – должен быть TRUE.<br />Изменить этот параметр после генерации уже нельзя.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2021-06-20T12:33:19Z</updated>
			<id>https://forum.rutoken.ru/post/15655/#p15655</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15654/#p15654" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />Возникла проблема с Рутокен ЭЦП 2.0 2000.</p><p>На Рутокен ЭЦП 2.0 2100 успешно проходит подпись и шифрование.</p><p>Но на Рутокен ЭЦП 2.0 2000 проходит успешно подпись, а при шифровании <br />выдаёт ошибку при использовании функции C_DeriveKey: CKR_KEY_FUNCTION_NOT_PERMITTED.<br />При попытке найти privateKey с аттрибутом CKA_DERIVE=True таких ключей не находит.<br />В чём может быть причина, как исправить?</p>]]></content>
			<author>
				<name><![CDATA[Ирина Казакевич]]></name>
				<uri>https://forum.rutoken.ru/user/11248/</uri>
			</author>
			<updated>2021-06-19T08:24:45Z</updated>
			<id>https://forum.rutoken.ru/post/15654/#p15654</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13693/#p13693" />
			<content type="html"><![CDATA[<p>Ирина, напишите, пожалуйста на hotline@rutoken.ru</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2019-12-09T08:36:37Z</updated>
			<id>https://forum.rutoken.ru/post/13693/#p13693</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13689/#p13689" />
			<content type="html"><![CDATA[<p><strong>Павел Анфимов</strong>, спасибо.<br />Обратила внимание, что для выработки ключа обмена должен использоваться эфемерный ключ.<br />В КриптоПро это команда вида<br />CryptGenKey(hProv, CALG_DH_GR3410_12_256_EPHEM, CRYPT_EXPORTABLE, &amp;hEphemeralKey)</p><p>Как это будет выглядеть для Рутокен 2.0?</p><p>Так же для заполнения KeyInfo требуется session MAC key.</p>]]></content>
			<author>
				<name><![CDATA[Ирина Казакевич]]></name>
				<uri>https://forum.rutoken.ru/user/11248/</uri>
			</author>
			<updated>2019-12-07T09:11:09Z</updated>
			<id>https://forum.rutoken.ru/post/13689/#p13689</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13684/#p13684" />
			<content type="html"><![CDATA[<p><strong>Ирина Казакевич</strong>, по шифрованию есть нюанс. Создаваемая ключевая пара, должна иметь парамсет <br />exchange A. У сервера ФСС есть такая проверка. </p><p>Для ГОСТ-2012 надо использовать парамсет z. Шаблон (на С#):<br /></p><div class="codebox"><pre><code>// Шаблон для импорта симметричного ключа ГОСТ 28147-89 (маскируемого ключа)
        static readonly List&lt;ObjectAttribute&gt; SessionKeyAttributes = new List&lt;ObjectAttribute&gt;
        {
            // Метка ключа
            new ObjectAttribute(CKA.CKA_LABEL, SampleConstants.WrappedKeyLabel),
            // Идентификатор ключа
            new ObjectAttribute(CKA.CKA_ID, SampleConstants.GostSecretKeyId),
            // Класс - секретный ключ
            new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_SECRET_KEY),
            // Тип ключа - ГОСТ 28147-89
            new ObjectAttribute(CKA.CKA_KEY_TYPE, (uint) Extended_CKK.CKK_GOST28147),
            // Ключ является объектом сессии
            new ObjectAttribute(CKA.CKA_TOKEN, false),
            // Ключ может быть изменен после создания
            new ObjectAttribute(CKA.CKA_MODIFIABLE, true),
            // Ключ доступен только после аутентификации на токене
            new ObjectAttribute(CKA.CKA_PRIVATE, true),
            // Ключ может быть извлечен в зашифрованном виде
            new ObjectAttribute(CKA.CKA_EXTRACTABLE, true),
            // Ключ может быть извлечен в открытом виде
            new ObjectAttribute(CKA.CKA_SENSITIVE, false),
            new ObjectAttribute(CKA.CKA_GOST28147_PARAMS, params28147)
        };</code></pre></div><p>Еще - использует CBC без мешинга -- CRYPT_MODE_CBC (а не CRYPT_MODE_CBCRFC4357). <br />В SDK у нас пример с мешингом.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2019-12-05T08:28:14Z</updated>
			<id>https://forum.rutoken.ru/post/13684/#p13684</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13681/#p13681" />
			<content type="html"><![CDATA[<p><strong>paulish</strong>, подскажите удалось выполнить шифрование по требованиям ФСС?</p><p>С какими параметрами вызываете вызываете функции С_DeriveKey, C_WrapKey и C_EncryptInit.</p><p>У нас подпись учреждения ГОСТ 2012. Сервис ФСС отвечает, что не может расшифровать сообщение.</p>]]></content>
			<author>
				<name><![CDATA[Ирина Казакевич]]></name>
				<uri>https://forum.rutoken.ru/user/11248/</uri>
			</author>
			<updated>2019-12-04T22:56:35Z</updated>
			<id>https://forum.rutoken.ru/post/13681/#p13681</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Работа с ФСС по передаче данных о больничном]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13208/#p13208" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ирина Казакевич пишет:</cite><blockquote><div class="quotebox"><cite>Владимир Салыкин пишет:</cite><blockquote><p>Это уже сложный технический вопрос, не для форума. Написал Вам на почту.</p></blockquote></div><p>Добрый день!<br />Занимаемся разработкой ПО для передачи данных в ФСС из медицинских учреждений с использованием Рутокен-ЭЦП 2.0.<br />Также требуются ответы на эти вопросы.</p></blockquote></div><p>Ирина, написал Вам на почту.</p>]]></content>
			<author>
				<name><![CDATA[Павел Анфимов]]></name>
				<uri>https://forum.rutoken.ru/user/7338/</uri>
			</author>
			<updated>2019-08-28T12:31:43Z</updated>
			<id>https://forum.rutoken.ru/post/13208/#p13208</id>
		</entry>
</feed>
