(2015-04-18 12:58:53 отредактировано dmitrmax)

API для подписи и шифрования Рутокен ЭЦП

Здравствуйте, господа!

Каким API можно воспользоваться в Linux, чтобы программно работать с подписью и шифрованием с помощью неизвлекаемых ключей (те что создаются в винде CryptoPro Rutoken CSP)?

Правильно ли я понимаю, что Рутокен ЭЦП состоит как бы их двух частей?

Первая часть совпадает с обычными токенами. Работа с ключами в первой части осуществляется через PIN-коды и использованием более-менее стандартного API PKSC#11.

Вторая часть особенная и содержит аппаратную генерацию ключей, шифрование и эл. подпись, так же умеет хранить сертификаты ключей, но доступ к ней и работа с ней осуществеляется каким-то особенным образом, но без использования PIN-кодов (например, под Windows с помощью криптопровайдера CryptoPro Rutoken CSP).

Если это так, то почему это нигде не описано русским или английским языком?

Как эти две части соотносятся друг с другом? Приведет ли форматирование первой части к потере информации хранящейся во второй части? Короче подробности нужны )

Re: API для подписи и шифрования Рутокен ЭЦП

Здравствуйте !

dmitrmax пишет:

Каким API можно воспользоваться в Linux, чтобы программно работать с подписью и шифрованием с помощью неизвлекаемых ключей (те что создаются в винде CryptoPro Rutoken CSP)?

Если вопрос формулируется именно так, что нужно работать под Linux с ключами, которые сгенерированы КриптоПро Рутокен CSP,
то нужно пользоваться информацией с сайта КриптоПро: https://www.cryptopro.ru/products/fkc/rutoken/spec
Linux у них стоит в планах и нужно уточнять в КриптоПро сроки выхода версии.
Так что видимо на данный момент никак не получится, нет такого API, поскольку нет версии криптопровайдера.

dmitrmax пишет:

Правильно ли я понимаю, что Рутокен ЭЦП состоит как бы их двух частей?

В КриптоПро Рутокен CSP используется не обычный Рутокен ЭЦП, а его расширенная версия, которая поддерживает технологию ФКН.
Так что имеется и базовая функциональность Рутокен ЭЦП, и дополнительная.

dmitrmax пишет:

Как эти две части соотносятся друг с другом? Приведет ли форматирование первой части к потере информации хранящейся во второй части? Короче подробности нужны )

Такое разделение на части некорректно. По сути нет частей, как таковых. Форматирование токена (через Панель управления) приведет к потере всех данных на токене.

dmitrmax пишет:

Если это так, то почему это нигде не описано русским или английским языком?

Строго говоря, КриптоПро Рутокен CSP является продуктом компании КриптоПро. Поэтому вопросы документирования и публикации относятся к компетенции компании КриптоПро. Токен, который входит в состав продукта, предназначен для использования внутри продукта. Использование токена альтернативными способами составляет риски пользователя.

(2015-04-19 22:29:05 отредактировано dmitrmax)

Re: API для подписи и шифрования Рутокен ЭЦП

Vladimir Ivanov пишет:

В КриптоПро Рутокен CSP используется не обычный Рутокен ЭЦП, а его расширенная версия, которая поддерживает технологию ФКН.
Так что имеется и базовая функциональность Рутокен ЭЦП, и дополнительная.

Вот же ж надо было сходу на "велосипед" напороться! Эта функциональность хотя бы через CCID работает? Протокол естественно закрытый?

Vladimir Ivanov пишет:

Такое разделение на части некорректно. По сути нет частей, как таковых. Форматирование токена (через Панель управления) приведет к потере всех данных на токене.

Ок. Вы не предложили какого-то корректного способа отделить этих мух от котлет, поэтому я буду использовать термины "обычная" часть и ФКНовская часть. Надеюсь, будет понятно, чего я хочу.

То есть получается, что если допустим, профукан ПИН-код от "обычной" части , то ключи ФКН продолжают оставаться доступными. Но для того, чтобы владельцу ключа вернуть себе возможность использовать "обычное" хранилище носителя, придется этот носитель отформатировать, но при этом возможности сохранить ключи ФКНовской части не существует и они будут утеряны?

Vladimir Ivanov пишет:

Строго говоря, КриптоПро Рутокен CSP является продуктом компании КриптоПро. Поэтому вопросы документирования и публикации относятся к компетенции компании КриптоПро. Токен, который входит в состав продукта, предназначен для использования внутри продукта. Использование токена альтернативными способами составляет риски пользователя.

Уже задал вопрос на их форуме. Какая-то версия дистрибутива есть под Linux есть. Но хедеров в ней нету и как этим "добром" воспользоваться не понятно.

Re: API для подписи и шифрования Рутокен ЭЦП

dmitrmax пишет:

Эта функциональность хотя бы через CCID работает? Протокол естественно закрытый?

Весь токен работает через CCID.
Протокол имеется в виду функционирования ФКН?
Не подразумевается, что функциональностью ФКН кто-то будет пользоваться без КриптоПро CSP.

dmitrmax пишет:

То есть получается, что если допустим, профукан ПИН-код от "обычной" части , то ключи ФКН продолжают оставаться доступными.

Да, ключи ФКН будут доступны.

dmitrmax пишет:

Но для того, чтобы владельцу ключа вернуть себе возможность использовать "обычное" хранилище носителя, придется этот носитель отформатировать, но при этом возможности сохранить ключи ФКНовской части не существует и они будут утеряны?

Если задана политика смены PIN пользователя, в которую включен Администратор, то он может поменять пользовательский PIN.
То есть не во всех случаях нужно форматировать токен.
Но у Вас, насколько я понимаю, возможности переформатирования нет, в том смысле что уже есть рабочие ключи сертификат на токене.
Политику смены PIN можно посмотреть в Панели управления Рутокен, кнопка "Информация".
Если работать не через OpenCS, а через rtPKCS11ECP, то есть вариант инициализации, при котором не будет затронут ФКН.
Это вариант, если использовать C_InitToken() ( http://developer.rutoken.ru/x/N4Aw ).
В этом случае будут удалены объекты PKCS#11, а данные ФКН не будут затронуты.

Но если токен все же отформатировать через Панель управления, то будут потеряны все данные.

dmitrmax пишет:

Какая-то версия дистрибутива есть под Linux есть. Но хедеров в ней нету и как этим "добром" воспользоваться не понятно.

Документация для разработчиков лежит здесь: http://cpdn.cryptopro.ru/
Там же где-то и заголовочные файлы.
Все должно работать, как утверждается, так же, как в обычном КриптоПро CSP.
По крайней мере поиск по FKC и ФКН дает результаты.