Наличие лицензии КриптоПро CSP встроенной в сертификат электронной подписи даёт возможность использовать данный сертификат на любом компьютере независимо от наличия лицензии КриптоПро CSP на рабочее место.
Внимание!!! При отсутствии лицензии на рабочее место в программе КриптоПро CSP будет отображено что лицензия Истекла или «демонстрационная»! Это нормально! В программе отображается состояние именно лицензии на рабочее место. Сертификат со встроенной лицензией будет работать независимо от лицензии на рабочее место!
В случае приобретения сертификата ключа проверки электронной подписи с включенной в него лицензией, такая лицензия на СКЗИ «КриптоПро CSP» ограничивается использованием ключа электронной подписи (закрытого ключа электронной подписи), ключ проверки (открытый ключ) которой указан в сертификате, и областью применения «СКБ Контур и ДЗО».
Под областью применения «СКБ Контур и ДЗО» в целях настоящего договора понимаются программные продукты и/или информационные системы, правообладателем или обладателем прав на законных основаниях которых является АО «ПФ «СКБ Контур, а также информационные системы, участие в которых происходит при использовании сертификатов ключей проверки электронной подписи, выпущенных удостоверяющими центрами АО «ПФ «СКБ Контур» и его ДЗО (дочерних и зависимых организаций).
Речь пойдет о файлах primary.key, masks.key и header.key, которые лежат в директории ххххх.000 на флешке. Данные файлы входят в состав криптоконтейнера закрытого ключа электронной подписи криптопровайдера КриптоПро, формат которого нигде не опубликован. Целью данной статьи является чтение контейнера и преобразование закрытого ключа в формат, который может быть прочитан в библиотеке OpenSSL. Долгое время было распространено ошибочное суждение, что достаточно сделать нечто вида (primary_key XOR masks_key) и мы получим закрытый ключ в чистом (raw) виде, однако забегая вперед, можно утверждать, что в КриптоПро было применено более сложное преобразование, в худшем случае состоящее из более чем 2000 (двух тысяч) операций хеширования.
Стоит упомянуть о существовании утилиты P12FromGostCSP которая позволяет конвертировать ключ в формат P12, доступный для работы с OpenSSL, но утилита имеет следующие существенные недостатки:
- Читает контейнер не напрямую, а через криптопровайдер, поэтому там, где кроме OpenSSL ничего нет, не работает.
- Если в свойствах ключа не отмечено, что ключ «экспортируемый», то конвертировать его невозможно.
- В демо версии не формирует файл с ключом, эта возможность присутствует только в платной версии.
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Лицензирование Криптопро CSP в составе других продктов
mnemonicator Оставлено | |
Здравствуйте. Меня интересует следующий вопрос, мы приобритаем лицензии с ЭЦП на доступ к платфрме Контур Диадок и в составе пакета так же идет лицензия на Криптопро CSP. При установке ПО необходимого для работы Контур Диадок происходит установка и программы Криптопро CSP, при этом, нам не предоставляют лицензионный ключ, а используют некий параметр реестра для того, чтобы ввод ключа не был необходим. Так же, в письме, представитель компании Контур написал следующее, цитирую – Отвечаю на вопрос Почему сертификат содержащий КриптоПро можно устанавливать на несколько устройств (число не ограничено)? В моём понимании, мы можем поизвести установку КриптоПро на 100 компьютерах. Это действительно так и поставщики таких сервисов как Контур могут распространять ваше ПО на таких условиях? Спасибо. | |
Андрей * Оставлено | |
Здравствуйте. Встроенная в сертификат лицензия никуда не устанавливается. Она даёт право работать на любом РМ с таким сертификатом. Если будет сертификат без встроенной – то необходимо покупать отдельно лицензию на каждое рабочее место. | |
mnemonicator Оставлено | |
Хорошо, уточняющий вопрос. Лицензия, которая идет с сертификатом (выданым на конкретного человека) может быть использована этим сотрудником на нескольких рабочих местах или же лицензия привязана к 1 рабочему месту? | |
Андрей * Оставлено | |
Автор: mnemonicator Хорошо, уточняющий вопрос. Лицензия, которая идет с сертификатом (выданым на конкретного человека) может быть использована этим сотрудником на нескольких рабочих местах или же лицензия привязана к 1 рабочему месту? Да, выше ответ. | |
Из нашей статьи вы узнаете:
КриптоПро Winlogon — это программное обеспечение для проверки серверов, контролирующее компьютерную сеть и пользователей в операционной системе Windows. Осуществляет аутентификацию статуса пользователя с помощью сертификатов открытых ключей и электронных цифровых подписей (ЭЦП). Аутентификация осуществляется при входе пользователей на домен с использованием средства криптографической защиты информации (СКЗИ) «КриптоПро CSP» версии 3.0 и выше.
Открытые ключи используются для проверки пользователя, а ЭЦП для авторизации домена Windows в соответствии с RFC 4490. Сертификаты пользователей и контроллеров домена выпускаются и управляются с помощью сертифицированного удостоверяющего центра или находятся под управлением домена операционной системы.
- Его назначение
- Характеристики
- Что такое КриптоПро CSP?
- Скачать КриптоПро CSP бесплатно
- Для чего нужна лицензия КриптоПро CSP?
- Версии КриптоПро CSP
- КриптоПро CSP лицензия
- КриптоПро CSP бессрочная
- Купить КриптоПро CSP
- Настройка «КриптоПро» CSP
- Настройка работы с Рутокен ЭЦП 2
- Получаем тестовый сертификат
- Подпись средствами «КриптоПро CSP»
- Rosa Crypto Tool
- Trusted eSign
- Резюме
- .
- Файл header. key
- Проверка лицензии КриптоПро CSP встроенной в сертификат ЭП
- 1 способ. Проверка через КриптоПро PKI
- 2 способ. Проверка через Состав сертификата
- Новые функции КриптоПро CSP версии 5. 0 R2
- Читаем закрытый ключ и конвертируем
- Сборка утилиты конвертирования ключа
- Компиляция OpenSSL библиотеки
- Компиляция privkey
- Формирование файла закрытого ключа private. key
- Пользуемся закрытым ключом private. key для подписывания файла file. txt
- Проверяем подпись
- Файл masks. key
- Три режима работы с Рутокенами
- Инструменты КриптоПро CSP
Его назначение
Программное обеспечение усиливает сетевой протокол аутентификации «Kerberos» с помощью инструментов криптографической защиты информации, расширяя штатную функциональность операционной системы.
Kerberos — сетевой протокол взаимной аутентификации клиента и сервера, где начальный обмен информацией между клиентом и сервером происходит в незащищённой среде.
Программное обеспечение КриптоПро Winlogon формирует ключи шифрования и ключи ЭЦП, шифрует данные, защищает их от навязывания ложных данных, обеспечивает целостность, подлинность и конфиденциальность информации.
Также КриптоПро Winlogon использует расширенный протокол аутентификации EAP-TLS (Extensible Authentication Protocol). Данный протокол использует двустороннюю криптографическую аутентификацию между удалённым пользователем и Radius сервером (Remote Authentication Dial-In User Service).
Характеристики
Программное обеспечение производит аутентификацию на любом сервере, который предназначен для взаимодействия с доменом Windows или со сферой Kerberos V5. При использовании КриптоПро CSP 3.0 необходимо скачать и установить дистрибутив по одной из приведённых ниже ссылок:
- Дистрибутив КриптоПро Winlogon (rus)
- Дистрибутив КриптоПро Winlogon (eng)
- Документация на КриптоПро Winlogon
Отдельная установка КриптоПро Winlogon не требуется, если используется КриптоПро CSP 3.6 и выше.
Подробные характеристики о совместимости с вашим удостоверяющим центром, операционной системой, доменом и дополнительными настройками вы можете узнать у нашей круглосуточной поддержки.
Срок пробной версии программы — 30 дней с момента установки. После необходимо получить лицензию у официального дилера. «Астрал-М» распространяет, внедряет и сопровождает программы КриптоПро с круглосуточной поддержкой пользователей 24/7. Является официальным дилером продукции торговой марки КриптоПро. Приобрести продукцию и актуальную лицензию КриптоПро Winlogon легко, достаточно заполнить форму обратной связи на сайте, вписав своё имя, телефон и адрес электронной почты.
Что такое КриптоПро CSP?
КриптоПро – это название крупнейшего разработчика программного обеспечения для работы с криптографией и подписями в России. Самый популярный продукт этой компании – программа КриптоПро CSP. Именно ее чаще всего имеют в виду, когда произносят название кампании. Программа КриптоПро CSP – так называемый криптопровайдер, то есть программа для осуществления криптографической защиты и шифрования информации при работе с подписью. Данная программа устанавливается на ваш компьютер, а использование электронной подписи без неё невозможно.
Скачать КриптоПро CSP бесплатно
Для чего нужна лицензия КриптоПро CSP?
Функционал программы КриптоПро CSP самый широкий в линейке продуктов КриптоПро. Он включает в себя:
- Хранение всех ваших электронных подписей на компьютере
- Защиту ваших персональных данных
- Создание пин-кода на контейнер подписи для ее защиты
- Обеспечение целостности информации, подписанной ЭЦП
- Расшифровка состава подписи
- Создание копий электронной подписи
Версии КриптоПро CSP
Программный продукт отличается версией релиза и сроком действия.
На сегодняшний день техническую поддержку компания КриптоПро осуществляет для двух версий программы 4.0 и 5.0. Для работы с подписью подойдет любая из этих версий. Главные их отличия в том, что версия 5.0 поддерживает MасOSи может применяться на технике марки Apple. Также в данной версии упрощенная процедура копирования подписи и версия 5.0 распознаёт большее количество специальных защищенных носителей, чем 4.0. Мы рекомендуем приобретать лицензию именно на 5 версию КриптоПро CSP.
КриптоПро CSP лицензия
Лицензию КриптоПро CSP иногда называют ключом. Ключ – это 25-значная комбинация букв и цифр, которая вводится в программу пользователем. Таким образом, программа распознает, что вами была приобретена лицензия. Также в этот ключ “зашита” версия КриптоПро CSP: 4.0 или 5.0. Если вы приобрели лицензию 5.0, то и скачивать нужно пятую версию. Эти ключи не взаимозаменяемы. Также по номеру лицензии программа может понять на какой срок приобретена программа.
По сроку действия программа делится на годовую и бессрочную. Годовую версию КриптоПро нужно будет покупать каждый год. КриптоПро не привязывается ни к пользователю, ни к подписи, поэтому вы можете использовать программу с любым количеством подписей. Лицензия, как правило, привязана к рабочему месту, то есть к компьютеру, на котором вы будете использовать Крипто Про CSP и электронную цифровую подпись
КриптоПро CSP бессрочная
Годовую Крипто Про CSP согласно названию нужно обновлять, то есть приобретать заново каждый год. Поэтому приобретение бессрочной лицензии гораздо выгоднее. Стоимость:
- Годовая КриптоПро CSP 5.0 – 1500 рублей
- Бессрочная КриптоПро CSP 5.0 – 2800 рублей
Купить КриптоПро CSP
Вы можете купить КриптоПро на нашем сайте, а наша техническая поддержка поможет бесплатно установить программу на ваш компьютер. Для заказа лицензии потребуется только ваш номер ИНН, а получить и настроить КриптоПро CSP можно дистанционно. Закажите КриптоПро CSP на нашем сайте и получите лицензию уже через 20 минут после оплаты счета.
Купить КриптоПро CSP
Зачем нужно покупать КриптоПро CSP и можно ли сэкономить? Что делать, если ЭП от УЦ ФНС уже получили, а КриптоПро на рабочее место еще не приобрели? А если у клиента установлен VipNet, ему КриптоПро не нужен же? — читайте об этом в нашей новой статье.
Мы продолжаем готовиться к изменениям в 2022 году в области получения электронной подписи для руководителей ЮЛ и ИП, их сотрудников и нотариусов.
Напоминаем, чтос 1 января 2022 года на ФНС России будет бесплатно выпускать квалифицированную электронную подпись. Однако сопутствующие инструменты, для ее хранения (носитель) и использования (криптопровайдер), необходимо приобрести отдельно от самой ЭП и заранее.
В предыдущей статье мы рассмотрели рекомендуемые носители, которые УЦ ФНС принимает для записи ЭП. Подпись выдается в единственном экземпляре и защищена от копирования. Именно поэтому, так важно позаботиться о ее хранении и безопасности в случае утери или кражи. В этой статье мы рассмотрим инструмент для использования полученной ЭП в УЦ ФНС на своем рабочем месте — криптопровайдер. По умолчанию, налоговая генерирует и шифрует электронные подписи с помощью КриптоПро CSP.
КриптоПро CSP — это криптопровайдер — независимый модуль в операционной системе вашего компьютера. Он позволяет выполнить криптографические операции для создания электронной подписи, ее шифрования и защиты от навязывания ложных данных.
Без наличия криптопровайдера на рабочем месте пользователя нельзя выполнить какие-либо операции с электронной подписью.
Для того, чтобы полученная подпись через УЦ ФНС заработала на выбранном компьютере руководителя или сотрудника, необходимо подготовить рабочее место:
- Шаг 1. Купите средство криптозащиты КриптоПро CSP.
- Шаг 2. Установите его на компьютер.
- Шаг 3. Загрузите сертификат ЭП.
КриптоПро CSP имеет только прямую схему распространения до конечного пользователя. Дистрибьютор «1С‑Рарус» с партнерской сетью 1С работает по агентской схеме:
- являемся лицензиатами ФСБ;
- имеем дилерский договор с КриптоПро.
Если компания-лицензиат ФСБ не имеет дилерского договора с КриптоПро, она может стать нашим агентом или заключить прямой договор с вендором «КриптоПро».
Если компания-НЕлицензиат ФСБ — для вас доступна только агентская схема продаж.
Стать агентом
Помочь с выбором необходимого тарифа КриптоПро CSP вам помогут менеджеры отдела продаж системного программного обеспечения компании «1С‑Рарус», а также приведенные ниже ответы на часто задаваемые вопросы.
1. Не успел \ Не знал \ Забыл купить лицензию КриптоПро CSP до получения ЭП через УЦ ФНС?
Не беда! Пользователь может использовать 90 дней бесплатного промо-периода, если ранее его не активировал. В течение этого времени необходимо приобрести платную лицензию и выполнить ее установку, а после загрузку ЭП.
2. На вашем рабочем месте установлен криптопровайдер VipNet. Что делать?
УЦ ФНС использует для выдачи подписи только КриптоПро CSP. Если на одном компьютере установлены и VipNet, и КриптоПро CSP — программы конфликтуют.
- Вариант 1 — удалить VipNet, купить КриптоПро CSP, перевыпустить ЭП до конца декабря 2021 года. Пользователи АО «Калуга Астрал» перевыпускают ЭП бесплатно по акции ZABOTA.
- Вариант 2 — конвертировать действующую ЭП на VipNet, купить КриптоПро CSP и загрузить сертификат ЭП. Вендор АО «Калуга Астрал» поделился инструкцией. По дополнительным вопросам можно обратиться по тел.: 8 (800) 700‑86‑68, 8 (800) 700‑39‑84.
3. Приобретая КриптоПро CSP появился вопрос — «А какой тариф выбрать?»
Мы рекомендуем приобретать бессрочные лицензии КриптоПро CSP.
Бессрочную лицензию на 1 рабочее место пользователь будет использовать на 1 компьютере неограниченное время и для неограниченного количества ЭП:
- Стоимость для клиента 2 700 ₽, без НДС:
- цена не влияет на версию 4.0 и 5.0;
- выбор версии зависит от операционной системы;
- доход партнера 1С — 11% или 297 ₽ с одной лицензии.
- Сертификат на годовую техническую поддержку СКЗИ «КриптоПро CSP»:
- мы рекомендуем, но это не обязательно;
- на 1 рабочее место 850 ₽, с НДС;
- доход партнера 1С при продаже лицензии с сертификатом — 15% или 532 ₽.
Бессрочную лицензию на 1 сервер пользователь будет использовать без ограничения количества рабочих мест неограниченное время и для неограниченного количества ЭП:
- Стоимость для клиента 37 500 ₽, без НДС:
- цена не влияет на версию 4.0 и 5.0;
- выбор версии зависит от операционной системы;
- доход партнера 1С — 11% или 4 125 ₽ с одной лицензии.
- Сертификат на годовую техническую поддержку СКЗИ «КриптоПро CSP»:
- мы рекомендуем, но это не обязательно;
- на 1 сервере 4 200 ₽, с НДС;
- доход партнера 1С при продаже лицензии с сертификатом — 15% или 6 255 ₽.
Важно! Все лицензии КриптоПро CSP именные. На какое ЮЛ или ИП приобретена лицензия, от той компании и нужно получать ЭП и подписывать документы.
Почему мы рекомендуем приобретать сертификат на годовую поддержку СКЗИ?
- Личный кабинет с дистрибутивом на портале ТП support.cryptopro.ru.
- Всегда доступна консультация по установке, настройке и обновлению версий.
- Лицензию КриптоПро восстановят при утере.
- Есть доступ к базе знаний по типовым ошибкам и решениям.
- SLA по инцидентам — 1 рабочий день.
4. Пользователь когда-то приобретал бессрочный КриптоПро CSP и сейчас он установлен на его компьютере. Он будет продолжать работать в 2022 году?
Да, будет. КриптоПро продолжает работать в прежнем режиме, для криптопровайдеров правила работы не изменились.
Бонус-информация
В сервисе 1С-Отчетность реализовано дополнительное расширение — «Расширение лицензии на программный продукт „АстралОтчетность“» с применением ограниченной лицензии на СКЗИ «КриптоПро CSP» в составе сертификата ключа проверки электронной подписи.
Это значит, что пользователь может сэкономить на приобретении основной лицензии КриптоПро CSP и работать по действующей ЭП весь 2022 год.
Как? Перевыпускаем электронную подпись (например, предыдущая ЭП была выпущена на VipNet, изменились данные о подписанте или организации) и получаем сертификат ЭП со встроенной лицензией КриптоПро CSP сроком действия на 15 месяцев.
- При перевыпуске ЭП с уже встроенной лицензией КриптоПро CSP, она оплачивается повторно.
- Стоимость для клиента 450 ₽ (можно продавать дороже, по 590 ₽), стоимость для партнеров 1С — 360 ₽, без НДС.
Станьте нашим агентом и предоставляйте своим клиентам возможность приобретения КриптоПро CSP! Для заключения договора обращайтесь в отдел продаж системного программного обеспечения «1С‑Рарус».
- тел.: +7 (495) 642-78-78;
- эл. почта: [email protected];
- или в ваше региональное представительство компании «1С‑Рарус».
Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в Linux. Несмотря на то, что различные средства и интерфейсы по работе с ЭП в Linux развиты даже лучше, чем в Windows, использовать их не так просто.
Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».
«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.
Для настройки нам понадобится:
- Любимый дистрибутив Linux. Я использовал Ubuntu Linux 16.04 LTS и ROSA Fresh GNOME R8;
- Сертифицированная версия КриптоПро CSP 4.0 R2 для Windows, UNIX и macOS;
- Рутокен ЭЦП 2.0.
Настройка «КриптоПро» CSP
Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например, тут или тут), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.
Приступаем к настройке.
Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads
Распаковываем «КриптоПро CSP» для Linux:
tar -zxf ./linux-amd64_deb.tgz
Далее у нас есть 2 варианта – автоматическая установка и установка вручную. Автоматическая установка запускается командой:
sudo ./install.sh
или
sudo ./install_gui.sh
Здесь надо отдать должное разработчикам «КриптоПро» – автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.
Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:
dpkg -i ./cprocsp-curl-64_4.0.0-4_amd64.deb lsb-cprocsp-base_4.0.0-4_all.deb lsb-cprocsp-capilite-64_4.0.0-4_amd64.deb lsb-cprocsp-kc1-64_4.0.0-4_amd64.deb lsb-cprocsp-rdr-64_4.0.0-4_amd64.deb
Для установки пакетов в ROSA используйте urpmi, вместо dpkg -i.
Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:
cpconfig -license -set <серийный_номер>
cpconfig -license –view
Мы должны получить что-то вроде:
License validity:
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Expires: 3 month(s) 2 day(s)
License type: Server.
Настройка работы с Рутокен ЭЦП 2
Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало. Я буду использовать Рутокен ЭЦП 2.0, который имеет сертификат ФСБ и поддерживает работу как с новыми, так и со старыми ГОСТами.
Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.
Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:
apt-get install libpcsclite1 pcscd libccid
Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:
dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb
Получаем тестовый сертификат
Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.
Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.
Проверим, что сертификат получен успешно.
Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:
list_pcsc
Мы должны получить что-то вроде:
Aktiv Rutoken ECP 00 00
Теперь проверяем, что сертификат на токене видится успешно:
csptest -keyset -enum_cont -verifyc -fq
Получаем:
CSP (Type:80) v4.0.9014 KC1 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 13476867
\\.\Aktiv Rutoken ECP 00 00\822506788-dfcd-54c9-3a5e-e0a82a2d7f0
OK.
Total: SYS: 0,020 sec USR: 0,160 sec UTC: 0,870 sec
[ErrorCode: 0x00000000]
Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:
csptestf -absorb -cert -pattern 'rutoken'
Match: SCARD\rutoken_ecp_351d6671\0A00\62AC
OK.
Total: SYS: 0,010 sec USR: 0,140 sec UTC: 1,040 sec
[ErrorCode: 0x00000000]
Проверим, что сертификат успешно сохранился в хранилище:
certmgr -list -cert -store uMy
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : [email protected], C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=Trusted eSign Test
Serial : 0x120019F5D4E16D75F520A0299B00000019F5D4
SHA1 Hash : 0x016f443df01187d5500aff311ece5ea199ff863e
SubjKeyID : 204e94f63c68595e4c521357cf1d9279bff6f6e5
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 22/02/2017 10:53:16 UTC
Not valid after : 22/05/2017 11:03:16 UTC
PrivateKey Link : Yes
Container : SCARD\rutoken_ecp_351d6671\0A00\62AC
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]
На этом основная настройка завершена, и мы можем начинать подписывать или шифровать файлы с использованием различных средств. Переходим к тому, зачем задумывалась эта статья.
Подпись средствами «КриптоПро CSP»
В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:
- Отсутствие хорошей документации;
- Отсутствие графического интерфейса.
Подписать можно с помощью команды:
csptestf –sfsign –sign –in <имя файла> -out <имя файла> -my ‘Trusted eSign Test’ –detached –alg GOST94_256
Здесь,
my — параметр, в котором надо указать часть Common Name сертификата для подписи;
detached — позволяет создать открепленную подпись;
alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.
Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:
csptestf –sfsign
Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.
Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.
Rosa Crypto Tool
Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.
Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2016 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2. Сейчас утилита поддерживает работу только с «КриптоПро CSP» для Linux, однако в ближайшее время будет добавлена поддержка других криптопровайдеров.
Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.
Установить ее можно, использовав «Управление программами» в Rosa Linux.
Вставляем токен и запускаем утилиту.
Видим, что токен определился успешно и был найден наш сертификат.
Интерфейс программы настолько прост, что описывать и показывать в статье все его функции не имеет смысла. Попробуем только подписать файл.
Выбираем файл и жмем “Подписать файл”. Получаем вот такое предупреждение.
Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.
Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.
По сравнению с использованием «КриптоПро CSP» из консоли:
+ На порядок проще использовать;
— Отсутствуют различные параметры подписи.
Исходный код программы доступен в публичном репозитории на ABF:
abf.io/uxteam/rosa-crypto-tool-devel
Система контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.
Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.
Trusted eSign
Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».
Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.
Найти продукт на сайтах компании “Цифровые технологии” непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133
К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.
Скачиваем с официального сайта deb-пакет и устанавливаем командой:
dpkg –i ./trustedesign-x64.deb
Запускаем Trusted eSign.
Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. “Цифровые технологии” опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.
Но вернемся к подписи.
Выбираем раздел “Электронная подпись”:
Выбираем «Сертификат для подписи»:
Выбираем файлы для подписи и жмем «Подписать»:
Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.
Сравним Trusted eSign с Rosa crypto tool:
+ Более удобный и красивый интерфейс
— Платная лицензия
Резюме
Подведем итог. В конце 2016 – начале 2017 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.
Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux. Хорошие и удобные продукты российских разработчиков помогут государственным организациям и структурам нормально работать и выполнять требования по импортозамещению.
Такое развитие не может не радовать, особенно когда это происходит под Linux.
.
Наверняка есть немало пользователей, особенно пользователей Linux, кто считает, что консольных утилит достаточно. А также специалистов по информационной безопасности, которые считают, что дизайн и удобство — излишество в ИБ. Но я не могу с ними согласиться. Консольные утилиты, несомненно, идеальны для автоматизации. Но большинству пользователей удобнее работать с графическими интерфейсами. Даже в Linux.
Файл header. key
Из этого файла нам потребуется параметры электронной подписи CryptoProParamSet (подчеркнуто красным).
- GostR3410_2001_CryptoPro_A_ParamSet — 1.2.643.2.2.35.1
- GostR3410_2001_CryptoPro_B_ParamSet — 1.2.643.2.2.35.2
- GostR3410_2001_CryptoPro_C_ParamSet — 1.2.643.2.2.35.3
- GostR3410_2001_CryptoPro_XchA_ParamSet — 1.2.643.2.2.36.0
- GostR3410_2001_CryptoPro_XchB_ParamSet — 1.2.643.2.2.36.1
А также первые 8 байт открытого ключа (подчеркнуто) для контроля правильности чтения закрытого.
Проверка лицензии КриптоПро CSP встроенной в сертификат ЭП
1 способ. Проверка через КриптоПро PKI
Запустите программу КриптоПро PKI.
Найти её можно в меню “Пуск”
Слева раскройте элемент «Управление лицензиями» и выберите «КриптоПро CSP»
В правой части вы увидите список сертификатов содержащих встроенную лицензию КриптоПро CSP.
Отображаются только сертификаты установленные в хранилище «Личное».
2 способ. Проверка через Состав сертификата
Откройте ваш сертификат электронной подписи.
На вкладке «Состав» найдите среди полей «Ограниченная лицензия КРИПТО-ПРО»
Присутствие этого поля означает наличие встроенной лицензии КриптоПро CSP.
Если такого поля нет, то и встроенной лицензии нет.
Новые функции КриптоПро CSP версии 5. 0 R2
Интерфейс стал дружелюбнее и современнее.
В «КриптоПро CSP» 5.0 R2 реализована обёртка pkcs11-библиотеки для работы с носителями Рутокен ЭЦП 2.0. Это значит, что неизвлекаемые ключи в формате PKCS#11 (как для ЕГАИС) на носителях Рутокен ЭЦП 2.0 могут работать через «КриптоПро CSP». При этом сертификат можно установить в хранилище Личные со ссылкой на закрытый ключ pkcs контейнера и работать в сервисах, где можно использовать стандартные сертификаты, выданные на криптопровайдере «КриптоПро CSP». Для работы через «КриптоПро CSP» требуется лицензия.
«КриптоПро Browser Plug-In» также научился работать с неизвлекаемыми ключами PKCS#11.
Читаем закрытый ключ и конвертируем
Файл privkey.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/pem.h>
#include <openssl/cms.h>
#include <openssl/err.h>
#include "gost_lcl.h"
/* Convert little-endian byte array into bignum */
BIGNUM *reverse32bn(char *b, BN_CTX *ctx)
{
BIGNUM *res;
char buf[32];
BUF_reverse(buf, b, 32);
res = BN_bin2bn(buf, 32, BN_CTX_get(ctx));
OPENSSL_cleanse(buf, sizeof(buf));
return res;
}
void xor_material(char *buf36, char *buf5C, char *src)
{
int i;
for(i = 0; i < 32; i++)
{
buf36[i] = src[i] ^ 0x36;
buf5C[i] = src[i] ^ 0x5C;
}
}
int make_pwd_key(char *result_key, char *start12, int start12_len, char *passw)
{
int result;
int i;
char pincode4[1024];
int pin_len;
char current[32];
char material36[32];
char material5C[32];
char hash_result[32];
gost_hash_ctx ctx;
init_gost_hash_ctx(&ctx, &GostR3411_94_CryptoProParamSet);
memset(pincode4, 0, sizeof(pincode4));
pin_len = strlen(passw);
if (pin_len*4 > sizeof(pincode4)) { result = 1; goto err; }
for(i = 0; i < pin_len; i++)
pincode4[i*4] = passw[i];
start_hash(&ctx);
hash_block(&ctx, start12, start12_len);
if (pin_len)
hash_block(&ctx, pincode4, pin_len * 4);
finish_hash(&ctx, hash_result);
memcpy(current, (char*)"DENEFH028.760246785.IUEFHWUIO.EF", 32);
for(i = 0; i < (pin_len?2000:2); i++)
{
xor_material(material36, material5C, current);
start_hash(&ctx);
hash_block(&ctx, material36, 32);
hash_block(&ctx, hash_result, 32);
hash_block(&ctx, material5C, 32);
hash_block(&ctx, hash_result, 32);
finish_hash(&ctx, current);
}
xor_material(material36, material5C, current);
start_hash(&ctx);
hash_block(&ctx, material36, 32);
hash_block(&ctx, start12, start12_len);
hash_block(&ctx, material5C, 32);
if (pin_len)
hash_block(&ctx, pincode4, pin_len * 4);
finish_hash(&ctx, current);
start_hash(&ctx);
hash_block(&ctx, current, 32);
finish_hash(&ctx, result_key);
result = 0; //ok
err:
return result;
}
BIGNUM *decode_primary_key(char *pwd_key, char *primary_key, BN_CTX *bn_ctx)
{
BIGNUM *res;
char buf[32];
gost_ctx ctx;
gost_init(&ctx, gost_cipher_list->sblock);
gost_key(&ctx, pwd_key);
gost_dec(&ctx, primary_key, buf, 4);
res = reverse32bn(buf, bn_ctx);
OPENSSL_cleanse(buf, sizeof(buf));
return res;
}
BIGNUM *remove_mask_and_check_public(char *oid_param_set8, BIGNUM *key_with_mask, BIGNUM *mask, char *public8, BN_CTX *ctx)
{
int result;
EC_KEY *eckey = NULL;
const EC_POINT *pubkey;
const EC_GROUP *group;
BIGNUM *X, *Y, *order, *raw_secret, *mask_inv;
char outbuf[32], public_X[32];
ASN1_OBJECT *obj;
int nid;
order = BN_CTX_get(ctx);
mask_inv = BN_CTX_get(ctx);
raw_secret = BN_CTX_get(ctx);
X = BN_CTX_get(ctx);
Y = BN_CTX_get(ctx);
if (!order || !mask_inv || !raw_secret || !X || !Y) { result = 1; goto err; }
obj = ASN1_OBJECT_create(0, oid_param_set8+1, *oid_param_set8, NULL, NULL);
nid = OBJ_obj2nid(obj);
ASN1_OBJECT_free(obj);
if (!(eckey = EC_KEY_new())) { result = 1; goto err; }
if (!fill_GOST2001_params(eckey, nid)) { result = 1; goto err; }
if (!(group = EC_KEY_get0_group(eckey))) { result = 1; goto err; }
if (!EC_GROUP_get_order(group, order, ctx)) { result = 1; goto err; }
if (!BN_mod_inverse(mask_inv, mask, order, ctx)) { result = 1; goto err; }
if (!BN_mod_mul(raw_secret, key_with_mask, mask_inv, order, ctx)) { result = 1; goto err; }
if (!EC_KEY_set_private_key(eckey, raw_secret)) { result = 1; goto err; }
if (!gost2001_compute_public(eckey)) { result = 1; goto err; }
if (!(pubkey = EC_KEY_get0_public_key(eckey))) { result = 1; goto err; }
if (!EC_POINT_get_affine_coordinates_GFp(group, pubkey, X, Y, ctx)) { result = 1; goto err; }
store_bignum(X, outbuf, sizeof(outbuf));
BUF_reverse(public_X, outbuf, sizeof(outbuf));
if (memcmp(public_X, public8, 8) != 0) { result = 1; goto err; }
result = 0; //ok
err:
if (eckey) EC_KEY_free(eckey);
if (result == 0) return raw_secret;
return NULL;
}
int file_length(char *fname)
{
int len;
FILE *f = fopen(fname, "rb");
if (f == NULL) return -1;
fseek(f, 0, SEEK_END);
len = ftell(f);
fclose(f);
return len;
}
int read_file(char *fname, int start_pos, char *buf, int len)
{
int read_len;
FILE *f = fopen(fname, "rb");
if (f == NULL) return 1;
if (start_pos) fseek(f, start_pos, SEEK_SET);
read_len = fread(buf, 1, len, f);
fclose(f);
if (read_len != len) return 1;
return 0; //ok
}
int get_asn1_len(unsigned char *buf, int *size_hdr)
{
int n, i, res;
int pos = 0;
if ((buf[pos]&0x80) == 0) {
*size_hdr = 1;
return buf[pos];
}
n = buf[pos++]&0x7f;
res = 0;
for(i = 0; i < n; i++) {
res = res*256 + buf[pos++];
}
*size_hdr = n+1;
return res;
}
#define MAX_HEADER 20000
int read_container(char *fpath, int flag2, char *salt12, char *primary_key, char *masks_key, char *public8, char *oid_param_set8)
{
int result;
char primary_path[1024+30];
char masks_path[1024+30];
char header_path[1024+30];
char header_buf[MAX_HEADER];
int header_len;
int i, len, pos, size_hdr;
if (strlen(fpath)>1024) { result = 1; goto err; }
sprintf(header_path, "%s/header.key", fpath);
if (flag2 == 0)
{
sprintf(primary_path, "%s/primary.key", fpath);
sprintf(masks_path, "%s/masks.key", fpath);
}
else
{
sprintf(primary_path, "%s/primary2.key", fpath);
sprintf(masks_path, "%s/masks2.key", fpath);
}
if (read_file(primary_path, 4, primary_key, 32)) { result = 1; goto err; }
if (read_file(masks_path, 4, masks_key, 32)) { result = 1; goto err; }
if (read_file(masks_path, 0x26, salt12, 12)) { result = 1; goto err; }
header_len = file_length(header_path);
if (header_len < 0x42 || header_len > MAX_HEADER) { result = 1; goto err; }
if (read_file(header_path, 0, header_buf, header_len)) { result = 1; goto err; }
//------------- skip certificate ---------------------------
pos = 0;
for(i = 0; i < 2; i++)
{
get_asn1_len(header_buf+pos+1, &size_hdr);
pos += size_hdr+1;
if (pos > header_len-8) { result = 2; goto err; }
}
//------------------ get oid_param_set8 -----------------------
#define PARAM_SET_POS 34
if (memcmp(header_buf+pos+PARAM_SET_POS, "\x6\x7", 2) != 0) { result = 2; goto err; }
memcpy(oid_param_set8, header_buf+pos+PARAM_SET_POS+1, 8);
//------------------ get public8 -----------------------
result = 2; //not found
pos += 52;
for(i = 0; i < 3; i++)
{
len = get_asn1_len(header_buf+pos+1, &size_hdr);
if (len == 8 && memcmp(header_buf+pos, "\x8a\x8", 2) == 0)
{
memcpy(public8,header_buf+pos+2,8);
result = 0; //ok
break;
}
pos += len+size_hdr+1;
if (pos > header_len-8) { result = 2; goto err; }
}
err:
OPENSSL_cleanse(header_buf, sizeof(header_buf));
return result;
}
#define START_OID 0x12
#define START_KEY 0x28
unsigned char asn1_private_key[72] = {
0x30,0x46,2,1,0,0x30,0x1c,6,6,0x2a,0x85,3,2,2,0x13,0x30,0x12,6,7,0x11,
0x11,0x11,0x11,0x11,0x11,0x11,6,7,0x2a,0x85,3,2,2,0x1e,1,4,0x23,2,0x21,0
};
int main(int argc, char **argv)
{
int result;
char *container_path;
char *passw;
char salt12[12];
char primary_key[32];
char masks_key[32];
char public8[8];
char oid_param_set8[8];
BN_CTX *ctx;
BIGNUM *key_with_mask;
BIGNUM *mask;
BIGNUM *raw_key;
char pwd_key[32];
char outbuf[32];
ctx = BN_CTX_new();
if (argc == 2)
{
container_path = argv[1];
passw = "";
}
else
if (argc == 3)
{
container_path = argv[1];
passw = argv[2];
}
else
{
printf("get_private container_path [passw]\n");
result = 1;
goto err;
}
if (read_container(container_path, 0, salt12, primary_key, masks_key, public8, oid_param_set8) != 0 &&
read_container(container_path, 1, salt12, primary_key, masks_key, public8, oid_param_set8) != 0)
{
printf("can not read container from %s\n", container_path);
result = 2;
goto err;
}
make_pwd_key(pwd_key, salt12, 12, passw);
key_with_mask = decode_primary_key(pwd_key, primary_key, ctx);
OPENSSL_cleanse(pwd_key, sizeof(pwd_key));
mask = reverse32bn(masks_key, ctx);
raw_key = remove_mask_and_check_public(oid_param_set8, key_with_mask, mask, public8, ctx);
if (raw_key)
{
BIO *bio;
store_bignum(raw_key, outbuf, sizeof(outbuf));
memcpy(asn1_private_key+START_OID, oid_param_set8, 8);
memcpy(asn1_private_key+START_KEY, outbuf, 32);
//bio = BIO_new_file("private.key", "w");
bio = BIO_new_fp(stdout, BIO_NOCLOSE | BIO_FP_TEXT);
PEM_write_bio(bio, "PRIVATE KEY", "", asn1_private_key, sizeof(asn1_private_key));
BIO_free(bio);
OPENSSL_cleanse(outbuf, sizeof(outbuf));
OPENSSL_cleanse(asn1_private_key, sizeof(asn1_private_key));
result = 0; //ok
}
else
{
printf("Error check public key\n");
result = 3;
}
err:
BN_CTX_free(ctx);
OPENSSL_cleanse(salt12, sizeof(salt12));
OPENSSL_cleanse(primary_key, sizeof(primary_key));
OPENSSL_cleanse(masks_key, sizeof(masks_key));
return result;
}
Небольшой комментарий.
Основную работу выполняют следующие 3 функции:
1. Создаем ключ хранения исходя из 12-ти байтовой «соли» и пароля.
make_pwd_key(pwd_key, salt12, 12, passw);
2. Расшифровываем основной ключ на ключе хранения.
key_with_mask = decode_primary_key(pwd_key, primary_key, ctx);
3. Делим ключ с маской на маску.
raw_key = remove_mask_and_check_public(oid_param_set8, key_with_mask, mask, public8, ctx);
Но так как в библиотеке OpenSLL операция деления по модулю традиционно отсутствует, пользуемся операцией взятия обратного числа и умножением.
if (!BN_mod_inverse(mask_inv, mask, order, ctx)) { result = 1; goto err; }
if (!BN_mod_mul(raw_secret, key_with_mask, mask_inv, order, ctx)) { result = 1; goto err; }
Сборка утилиты конвертирования ключа
Далее сборка исходников описана для Linux версии.
Версию для Windows можно скачать отсюда там же есть сертификаты и закрытый ключ для тестирования, для сборки потребуется бесплатный компилятор Borland C++ 5.5
Компиляция OpenSSL библиотеки
После скачивания и распаковки исходных текстов openssl в целевой директории выполняем команды:
./config
make
Получаем готовую библиотеку libcrypto.a в текущей директории.
Также потребуются заголовочные файлы из директорий engines/ccgost и include.
Компиляция privkey
gcc -o privkey -Iengines/ccgost -Iinclude privkey.c libcrypto.a -pthread -ldl
Формирование файла закрытого ключа private. key
./privkey /mnt/usbflash/lp-9a0fe.000
Тестовый закрытый ключ в криптоконтейнере lp-9a0fe.000, сертификат открытого ключа signer.cer и другие файлы для тестирования можно взять отсюда
Получаем результат работы:
-----BEGIN PRIVATE KEY-----
MEYCAQAwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEEIwIhAKzsrv/l1Uwk
uzph/LQN9mux0Jz0yaW21kOYEFv0Xyut
-----END PRIVATE KEY-----
Cохраняем в private.key
Пользуемся закрытым ключом private. key для подписывания файла file. txt
openssl cms -sign -inkey private.key -in file.txt -CAfile CA.cer -signer signer.cer -engine gost -out test.sign -outform DER -noattr -binary
Проверяем подпись
openssl cms -verify -content file.txt -in test.sign -CAfile CA.cer -signer signer.cer -engine gost -inform DER -noattr -binary
Все работает просто замечательно!
Спасибо за внимание. Это была моя первая статья на хабре.
Файл masks. key
Содержит 32 байта маски ключа в формате Asn1, зашифрованного на ключе хранения pwd_key. Далее 12 байт «затравочной» информации для генерации ключа хранения pwd_key, если криптоконтейнер защищен паролем, то пароль также участвует в генерации ключа хранения.
Далее контрольная сумма (имитозащита) 4 байта. Контрольной информацией для простоты мы пользоваться не будем, общий контроль будет осуществляться путем генерации открытого ключа и сравнения первых 8 байт полученного ключа с соответствующим полем из файла header.key:
Три режима работы с Рутокенами
Работа со внутренним криптоядром Рутокена
В режиме «активного вычислителя» ключи контейнера КриптоПро создаются сразу в защищенной памяти устройства.
Подписание документов теперь возможно и на неизвлекаемых аппаратных ключах. Этот режим предотвращает извлечение ключа в память компьютера в момент подписания.
Поддерживаемые модели Рутокен
- Рутокен ЭЦП 2.0 2100 (Type-C/micro);
- Рутокен ЭЦП 2.0 (micro);
- Рутокен ЭЦП 2.0 2151;
- Рутокен ЭЦП 2.0 Flash/Touch;
- Рутокен ЭЦП Bluetooth;
- Смарт-карты Рутокен ЭЦП 2.0 2100;
Поддержка протокола SESPAKE (ФКН)
В «КриптоПро CSP» версии 5.0 R2 реализован криптографический протокол SESPAKE, который так же поддерживается в моделях Рутокен ЭЦП 2.0 3000 (Type-C/micro) и в токенах/смарт-картах Рутокен ЭЦП 3.0 NFC.
Данный протокол позволяет провести аутентификацию, не передавая в открытом виде PIN-код пользователя, и установить шифрованный канал для обмена сообщений между криптопровайдером и носителем
Хранение в защищенной файловой системе Рутокен
Как и в «КриптоПро CSP» версии 4.0, использование Рутокена в этом режиме позволяет обезопасить ключевую информацию от несанкционированного использования. Ключи и сертификаты надёжно хранятся в защищенной файловой системе Рутокен.
Поддерживаемые модели Рутокен
- Рутокен S (micro)
- Рутокен Lite (micro)
- Рутокен ЭЦП PKI (Type-C/micro)
- Рутокен ЭЦП 2.0 2100 (Type-C/micro);
- Рутокен ЭЦП 2.0 (micro);
- Рутокен ЭЦП 2.0 2151;
- Рутокен ЭЦП 2.0 Flash/Touch;
- Рутокен ЭЦП Bluetooth;
- Смарт-карты Рутокен ЭЦП 2.0 2100;
Инструменты КриптоПро CSP
В составе «КриптоПро CSP 5.0 R2» появилось графическое приложение для Windows, Linux и macOS – «Инструменты КриптоПро» («CryptoPro Tools») или просто cptools.
Оно позволяет:
- управлять контейнерами и сертификатами
- создавать и проверять CMS-подписи под файлами
- выполнять сервисные операции с носителями
- отображать информацию о провайдере и лицензии и делать некоторые настройки
Полное описание функциональности «Инструментов КриптоПро CSP» есть на сайте разработчика.