Посмотреть сертификат msca на рутокен в линуксе

Обновлено: 07.07.2024

Устройства семейства Рутокен ЭЦП используются для безопасного хранения и предъявления персональной информации: ключей шифрования, сертификатов, лицензий, удостоверений и других данных.

Для работы с USB-токеном подключите его к USB-порту компьютера.

Для работы со смарт-картой вставьте ее в считыватель для смарт-карт и подключите считыватель к USB-порту компьютера.

Чтобы проверить корректность работы Рутокен ЭЦП в операционных системах GNU/Linux необходимо выполнить действия, указанные в данной инструкции.

Если вы используете для устройства стандартный PIN-код (12345678), то рекомендуется его изменить на более сложный.

Определение названия модели USB-токена

Если вы работаете со смарт-картой, то определять название USB-токена не надо.


Первым делом подключите USB-токен к компьютеру.

Для определения названия модели USB-токена откройте Терминал и введите команду:

В результате в окне Терминала отобразится название модели USB-токена:


Примечание: В более ранних версиях операционных систем на экране может отобразиться строка — ID 0a89:0030. Это тоже означает, что название модели подключенного USB-токена — Рутокен ЭЦП.

Проверка корректности подключения считывателя для смарт-карт к компьютеру

Если вы работаете с USB-токеном, то проверять корректность подключения считывателя к компьютеру не надо.


Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.

Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:

В результате в окне Терминала отобразится название модели считывателя для смарт-карт:


Это означает, что считыватель для смарт-карт подключен корректно.

Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения.

Установка дополнительного программного обеспечения

В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.

Таблица 1. Список операционных систем GNU/Linux

Debian, Ubuntu, Linux Mint,

RedHat, CentOS, Fedora, ALT Linux,

ROSA Linux, МСВС, ГосЛинукс

Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

в deb-based системах это обычно:

  • библиотека libccid не ниже 1.4.2;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools.

в rpm-based системах это обычно:

  • ccid не ниже 1.4.2;
  • pcsc-lite;
  • pcsc-tools.

в ALT Linux это обычно:

  • pcsc-lite-ccid;
  • libpcsclite;
  • pcsc-tools.

Также для всех типов операционных систем необходимо установить библиотеку OpenSC.

Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:

В deb-based системах:

В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).


В rpm-based системах:

Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).


В ALT Linux:

Если у вас нет доступа к команде sudo, то используйте команду su.


Если библиотек и пакетов еще нет на компьютере, то необходимо их установить.

Для установки пакетов и библиотек:

В deb-based системах введите команду:


В rpm-based системах (кроме ALT Linux) введите команду:


В ALT Linux введите команду:

Если у вас нет доступа к команде sudo, то используйте команду su.


Проверка работы Рутокен ЭЦП в системе

Для проверки работы Рутокен ЭЦП:

Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП

Определите разрядность используемой системы:

Если в результате выполнения команды отобразится строка подобная "i686", то система является 32-разрядной.


Если в результате выполнения команды отобразится строка подобная "x86_64", то система является 64-разрядной.


Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:


Чтобы проверить наличие сертификатов и ключевых пар на Рутокен ЭЦП введите команду:

A — путь до библиотеки librtpkcs11ecp.so.

В результате в окне Терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокен ЭЦП.


Чтобы открыть сертификат или ключевую пару скопируйте ID необходимого объекта и введите команду:

A — путь до библиотеки librtpkcs11ecp.so.

B — ID сертификата.

В результате в окне Терминала отобразится полная информация об указанном объекте.


Чтобы скопировать сертификат в файл введите команду:

A — путь до библиотеки librtpkcs11ecp.so.

B — ID сертификата.

C — имя файла.

Изменение PIN-кода Рутокен ЭЦП

Определите разрядность используемой системы:


Если в результате выполнения команды отобразилась строка подобная "i686", то система является 32-разрядной.


Если в результате выполнения команды отобразилась строка подобная "x86_64", то система является 64-разрядной.

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:


Для изменения PIN-кода введите команду:

A — путь до библиотеки librtpkcs11ecp.so.

B — текущий PIN-код устройства.

C — новый PIN-код устройства.


В результате PIN-код устройства будет изменен.

Определение проблемы с Рутокен ЭЦП в системе

В данном разделе разберем две основные проблемы, которые могут возникнуть с Рутокен ЭЦП в системах GNU/Linux:

  • наличие пакета OpenCT;
  • отсутствие записей об устройстве в конфигурационном файле Info.plist.

Проблема "Наличие пакета OpenCT"

Способ определения


Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.

Для определения проблемы:

Остановите работу утилиты:

Запустите pcscd вручную в отладочном режиме:

Если у вас нет доступа к команде sudo, то используйте команду su.

Решение

Существует два способа решения данной проблемы.

1 способ. Удаление пакета OpenCT

Если пакет OpenCT необходим для работы и нет возможности его удалить, то перейдите сразу ко второму способу.

Для удаление OpenCT необходимо:

  1. Проверить наличие пакета в системе.
  2. Удалить пакет.

Шаг 1. Проверка наличия пакета OpenCT в системе

Для проверки наличия OpenCT в системе введите команду:

В deb-based системах:


В rpm-based системах:

Шаг 2. Удаление пакета OpenCT

Чтобы удалить OpenCT введите команду:

В deb-based системах:


В rpm-based системах:

Если у вас нет доступа к команде sudo, то используйте команду su.

В результате OpenCT будет удален. После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.

2 способ. Удаление записей об устройстве в конфигурационном файле openct.conf

Для удаления записей об устройстве в конфигурационном файле необходимо:

  1. Открыть конфигурационный файл openct.conf.
  2. Удалить в конфигурационном файле необходимую строку.
  3. Перезагрузить сервис OpenCT.

Шаг 1. Открытие конфигурационного файла

Чтобы открыть конфигурационный файл введите команду:

Если у вас нет доступа к команде sudo, то используйте команду su.

В результате откроется конфигурационный файл openct.conf.


Шаг 2. Удаление в конфигурационном файле необходимой строки

Для удаления в конфигурационном файле необходимой строки:

Шаг 3. Перезапуск сервиса OpenCT

Чтобы перезапустить сервис OpenCT введите команду:

После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.

Проблема "Отсутствие записей об устройстве в конфигурационном файле Info.plist"

Способ определения


Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.

Для определения проблемы:

Остановите работу утилиты:

Если у вас нет доступа к команде sudo, то используйте команду su.

Запустите pcscd вручную в отладочном режиме и осуществите поиск строки "Rutoken":

Откройте в библиотеке libccid конфигурационный файл Info.plist и проверьте наличие в нем записей об устройстве.

Для открытия конфигурационного файла Info.plist введите команду:

Если у вас нет доступа к команде sudo, то используйте команду su.

В результате откроется конфигурационный файл Info.plist.


Проверьте наличие строк:

в массиве <key>ifdVendorID</key> строки <string>0x0A89</string>;

в массиве <key>ifdFriendlyName</key> строки <string>Aktiv Rutoken ECP</string>.

Решение

Будьте очень внимательны при работа с конфигурационным файлом Info.plist.

Добавьте недостающие строки в конфигурационный файл:

в массиве <key>ifdVendorID</key> строку <string>0x0A89</string>;

в массиве <key>ifdFriendlyName</key> строку <string>Aktiv Rutoken ECP</string>.

После этого следует снова проверить работу устройства в системе. Для этого перейдите в раздел Проверка работы Рутокен ЭЦП в системе.


Поговорим немного про средства электронной подписи (ЭП) с использованием отечественных ГОСТ-алгоритмов в 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:


Далее у нас есть 2 варианта – автоматическая установка и установка вручную. Автоматическая установка запускается командой:


Здесь надо отдать должное разработчикам «КриптоПро» – автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.

Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:


Для установки пакетов в ROSA используйте urpmi, вместо dpkg -i.

Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:


Мы должны получить что-то вроде:

Настройка работы с Рутокен ЭЦП 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало. Я буду использовать Рутокен ЭЦП 2.0, который имеет сертификат ФСБ и поддерживает работу как с новыми, так и со старыми ГОСТами.


Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.

Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:


Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:

Получаем тестовый сертификат

Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.


Проверим, что сертификат получен успешно.

Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:


Мы должны получить что-то вроде:


Теперь проверяем, что сертификат на токене видится успешно:


Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:


Проверим, что сертификат успешно сохранился в хранилище:


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

Подпись средствами «КриптоПро CSP»

В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:

  • Отсутствие хорошей документации;
  • Отсутствие графического интерфейса.


Здесь,
my — параметр, в котором надо указать часть Common Name сертификата для подписи;
detached — позволяет создать открепленную подпись;
alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:


Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.

Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в 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-сервисом по работе с подписью этой же компании.

К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.

Скачиваем с официального сайта deb-пакет и устанавливаем командой:


Запускаем Trusted eSign.


Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. “Цифровые технологии” опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.

Но вернемся к подписи.

Выбираем раздел “Электронная подпись”:


Выбираем «Сертификат для подписи»:


Выбираем файлы для подписи и жмем «Подписать»:


Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.

Сравним Trusted eSign с Rosa crypto tool:

+ Более удобный и красивый интерфейс
— Платная лицензия

Резюме

Подведем итог. В конце 2016 – начале 2017 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.

Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux. Хорошие и удобные продукты российских разработчиков помогут государственным организациям и структурам нормально работать и выполнять требования по импортозамещению.

Такое развитие не может не радовать, особенно когда это происходит под Linux.


Рутокен S– модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК.

Рутокен Lite – модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК. Обладает интерфейсом CCID и не требует установки дополнительных драйверов

Рутокен ЭЦП 2.0 – имеет встроенный криптопровайдер и высокую производительность. Формирует квалифицированную электронную подпись (КЭП) при помощи сертифицированной реализации российских криптографических алгоритмов непосредственно в самом чипе устройстве, что повышает безопасность использования ЭП — ключ подписи никогда не покидает токен, его невозможно использовать или скопировать без ведома владельца. Работает с алгоритмами ГОСТ 2012. Сертифицированы в ФСБ и ФСТЭК.

Широко используется в системе ЕГАИС с 2016 года. В активном пользовании более полумиллиона устройств с квалифицированной электронной подписью.

Тестирование электронной подписи в Astra Linux:
Кроме двухфакторной аутентификации, можно проверять также подписание документов.

Для Рутокен Lite/S подписание проверить через:

1) КриптоАРМ eSign или КриптоАРМ ГОСТ
2) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»

Для Рутокен ЭЦП 2.0 подписание можно проверить несколькими способами:

Рутокен для Байкала и Эльбруса

Рутокен Lite и Рутокен ЭЦП одинаково хорошо работают на всех платформах, где есть USB-интерфейс.
Сейчас для Эльбруса и Байкала Рутокены подписывают через программы:
1) Тестовый центр регистрации Рутокен + Рутокен Плагин
2) Утилита из КриптоПро CSP 5.0

Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

  • библиотека libccid, librtpkcs11ecp.so;
  • пакеты libpcsclite1 и pcscd;
  • opensc;

Для установки в терминале введите команду:

Для проверки работы Рутокена:
Подключите устройство к компьютеру.

Способ №1

Способ №2

путь до библиотеки librtpkcs11ecp.so может различаться

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:

Способ №3

графическая утилита XCA:

Проверка

Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:

В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:

Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат:

Извлечение сертификата из токена

вместо нужно подставить ID который вы увидите в выводе команды

Если после строчки

нет ничего, значит устройство пустое. Следует обратиться к администратору или создать ключи и сертификат самостоятельно.

Создание самоподписанного сертификата

Для генерации ключевой пары в терминале следует ввести команду:

pkcs11-tool --module /usr/lib/librtpkcs11ecp .so --label "название_ключа" --keypairgen --key- type rsa:2048 -l -- id 45

Для создания самоподписанного сертификата в терминале следует ввести команду:

OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so

(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
[Success]: MODULE_PATH:/usr/lib/librtpkcs11ecp.so
Loaded: (pkcs11) pkcs11 engine

В Astra Linux SE 1.6 pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой librtpkcs11ecp.so. Для корректного функционирования, следует скачать и установить п одписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): libengine-pkcs11-openssl1.1_0.4.4-4_amd64.deb

OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out название_вашего_сертификата.crt -outform DER

1) Путь до библиотеки pkcs11.so может отличаться

Для того чтобы определить путь до библиотеки pkcs11.so введите команду:

2) Т.к. вышеуказанные команды должны быть неразрывны, их следует обязательно вводить в консоли openssl Иначе openssl не сможет обратиться к закрытому ключу.

Загрузка сертификата на токен

Создав свой личный сертификат, его следует загрузить на рутокен:

Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
label: название_ключа
ID: 45
Usage: encrypt, verify, wrap
Certificate Object, type = X.509 cert
label: имя_сертификата_в_токене
ID: 45

Установка дополнительный пакетов

Пуск - Настройки - Менеджер пакетов

через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:

  • libccid
  • pcscd
  • libpam-p11
  • libpam-pkcs11
  • libp11-2
  • libengine-pkcs11-openssl
  • opensc

Либо воспользовавшись терминалом FLY:

Конвертируем сертификат в текстовый формат

где cert.pem - Ваш сертификат из токена в текстовом формате

Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов:
Добавляем сертификат в список доверенных сертификатов:

Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:

Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.

Настройка аутентификации

Пуск - утилиты - Терминал Fly

sudo nano /usr/share/pam-configs/p11

записываем в файл следующую информацию:

Name: Pam_p11
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_p11_opensc.so /usr/lib/librtpkcs11ecp .so

сохраняем файл, нажав Alt + X, а затем Y, после чего выполнить команду:

в появившемся окне отметить пункт Pam_p11 и нажать OK

Проверка

Пуск - утилиты - Терминал Fly

Блокировка компьютера при извлечении токена

Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf

Пример файла конфигурации представлен ниже:

После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.

Инициализация утилитой pkcs11-tool:

$ pkcs11-tool --slot 0 --init-token --so-pin '87654321' --label 'Название_Вашего_токена' --module /usr/lib/librtpkcs11ecp.so

Также для очистки всех данных воспользуйтесь командами:

pkcs15-init --erase-card
pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""
pkcs15-init --store-pin --label 'User PIN' --auth-id 02 --pin '12345678' --puk '' --so-pin '87654321' --finalize

Утилита rtAdmin предназначена для автоматизации процедур форматирования и администрирования устройств Рутокен: смены метки токена, PIN-кодов и их параметров, управления разделами Flash-памяти.

При работе с утилитой рекомендуется не подключать более одного устройства.

Поддерживаемые модели

  • Рутокен Lite
  • Рутокен Lite SC
  • Рутокен ЭЦП
  • Рутокен ЭЦП 2.0
  • Рутокен ЭЦП SC
  • Рутокен ЭЦП PKI
  • Рутокен ЭЦП Flash
  • Рутокен ЭЦП 2.0 Flash/touch
  • Рутокен PINPad

Ссылки на загрузку:

Примеры использования

Отформатировать один токен с параметрами по умолчанию (для поточного выполнения убрать флаг -q)

Отформатировать токен, задав имя токена RutokenLabel , PIN-код пользователя 123456789 и PIN-код администратора 987654321 .

./rtadmin -f -z /usr/lib/librtpkcs11ecp.so -L RutokenAstra -u 123456789 -a 98765432
1 -q

Параметры

Утилита запускается из командной строки и имеет следующие параметры:

Значение по умолчанию используется только при форматировании без указания параметра -o

Значение по умолчанию используется только при форматировании без указания параметра -c

Значение по умолчанию используется только при форматировании без указания параметра -a

Значение по умолчанию используется только при форматировании без указания параметра -u

(для Рутокен PINPad. Устанавливается на экране устройства)

Политика смены PIN-кода пользователя

-p [кто может менять PIN-код:
1 – администратор,
2 – пользователь,
3 – пользователь и администратор]

Минимальная длина PIN-кода администратора

-M [длина PIN-кода (6-31 для Рутокен ЭЦП и Рутокен Lite,
1 для Рутокен S)]

Минимальная длина PIN-кода пользователя

-m [длина PIN-кода (6-31 для Рутокен ЭЦП и Рутокен Lite, 1 для Рутокен S)]

Максимальное количество попыток ввода PIN-кода администратора

Максимальное количество попыток ввода PIN-кода пользователя

Путь: каталог, в котором лежит утилита
Имя файла: rtadmin.log

При возникновении вопроса, на который вам не удалось найти ответ в этой инструкции, рекомендуем
обратиться к следующим дополнительным источникам информации:

Веб-сайт содержит большой объем справочной информации об устройствах Рутокен.


А полные исходники где-нибудь есть, или только куски кода на хабре?

Про лицензию также хотелось бы услышать.

hobbit ★★★★★ ( 12.03.19 21:03:24 )
Последнее исправление: hobbit 12.03.19 21:05:29 (всего исправлений: 2)

Да, есть. В статье есть ссыка

Так стоп, я что то не понял.

Однако до настоящего времени отсутствовали программные средства, которые позволяли бы не только просматривать сертификаты (особенно квалифицированные) на них, но и экспортировать сертификаты в файлы

Вы что хотите что командой openssl я это не смогу сделать ?

mx__ ★★★★★ ( 12.03.19 23:55:46 )
Последнее исправление: mx__ 13.03.19 00:01:37 (всего исправлений: 1)


Что ж оно страшное всё такое?

Значит gcr-viewr не страшно, а это страшно?

Страшно. Почему бы не выбрать Qt?

И гугл дал вам ссылку на то, как openssl работает RSA и т.д., но только не с ГОСТ.

В смысле ? Что openssl не поможет подцепить ГОСТ либой ? А Вы пробовали ( или кто там ) писать разрабам openssl ? Или юнихвай уже не тру, и нужно наплодить одинковых по функционалу приблуд.

Ага а что по вашему тогда делает рутокен ?

Страшно, что? И что даст Qt? Ведь Qt как и gtk b tk - это только средство. Вас не устраивает дизайн, шрифт? Предложите свой. Надо понимать, что для вас нестрашно и он будет реализован

Нормальный, человеческий look'n'feel

Рутокен Рутокену рознь. Есть замечательный Рутокен ЭЦП 2.0, который поддерживает российскую криптографию и интерфейс PKCS11. Есть lite, который фактически является флэшком с PIN-кодом. На нем нет российских криптомеханизмов и интерфейсов. Есть стандартные функции для работы с памятью, в том числе защищенной PIN-ом, которые позволяют что-то записать и прочитать, но не выполнять криптографические функции. Эти же функции есть у Рутокен ЭЦП 2.0. И многие, говоря мы используем Рутокен ЭЦП 2.0, на самом деле используют его как флэшке, что-то записывая, читая в память компьютера и там на компьютере проводят криптографические операции на своей математики, не задействуя сам токен. Так что свесь вопрос как используется и кем Рутокен.



удобно было бы иметь графическую утилиту, которая позволяла бы не только просматривать сертификаты (особенно квалифицированные) как в файлах, так и на токенах, но и экспортировать сертификаты в файлы

А зачем для этого утилита? Для работы с ЭЦП все равно нужно что-то типа КриптоПРО, ну так в нем все это есть. Я про ГОСТовскую ЭЦП разумеется.


Нет, не является. И даже близко не стоит, потому что не позволяет полноценно работать с ЭЦП. Ты же должен понимать что для работы с российской ЭЦП необходим криптопровайдер (почти всегда это КриптоПРО, такова российская реальность), а раз этот криптопровайдер уже установлен (а он 100% установлен, иначе работать невозможно никак, и даже не пытайся с этим спорить) и может выполнять все функции по работе с ЭЦП то зачем нужна еще и отдельная утилита? Лично мое мнение - никому она не будет нужна, ну возможно за очень редким исключением. Конечно это open sourse и автор имеет полное право писать что захочет, но польза от этого весьма сомнительна. Хотя я конечно желаю автору успехов, ведь если пишет значит кому-то надо, хотя бы даже ему одному.

КриптоПро (как и много других CSP ) это прежде всего Windows

Так это потому что персональные компьютеры в любой сфере применения это прежде всего Windows, в меньшей степени Mac и лишь 1% школьников на арче которые даже не знают что такое CSP и зачем он нужен это Linux. А так то КриптоПРО есть и под Linux, и даже прекрасно работает.

Ну и последний вопрос - а все что умеет эта утилита в линуксе нельзя делать такими штатными средствами как Kleopatra? Я честно говоря не пробовал, поэтому и спрашиваю.

Если кто-то уже ранее имел опыт установки КриптоПро на Windows, то спешу вас огорчить: дела с Linux обстоят гораздо хуже.

Почему? Дело в том, что версия КриптоПро для Linux почти лишена графической среды управления, так что даже импорт сертификатов придется выполнять консольными командами (за исключением последней 5-ой версии КриптоПро). Но если вы используете Linux, то данное обстоятельство вас не должно напугать.

Не буду ходить больше вокруг да около, а сразу приступлю к описанию процесса установки и настройки КриптоПро в Ubuntu 18.04. Все описанные далее инструкции справедливы для Rutoken Lite.

1. Скачиваем deb-пакет для установки КриптоПро в Ubuntu

Загрузка доступна с официального сайта КриптоПро в разделе Продукты. Отмечу лишь то, что надо скачивать обязательно сертифицированную версию. В данном материале описана установка и настройка КриптоПро CSP 4.0 R3.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Далее загруженный архив tgz необходимо распаковать.

Установка КриптоПро в Linux

2. Установка КриптоПро в графическом режиме

Переходим в папку с распакованным архивом и выбираем в контекстном меню команду Открыть в Терминале (в Kubuntu Действия / Открыть Терминал в этой папке). Для запуска установки в КриптоПро в графическом режиме вводим в терминале команду

Установка КриптоПро в Linux

Появится Мастер установки КриптоПро. Навигация в мастере установки осуществляется при помощи клавиши Tab, выбор чекбоксов осуществляется нажатием пробела. Жмем Next, отмечаем все доступные к установке компоненты, далее жмем Install.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

В окне Терминала запустится процесс установки, следует проконтролировать отсутствие ошибок установки. В конце мастер сообщит об успешной установке, после чего следует нажать клавишу ОК.

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Кратко о компонентах КриптоПро для Linux:

cprocsp-curl - Библиотека libcurl с реализацией шифрования по ГОСТ

lsb-cprocsp-base - Основной пакет КриптоПро CSP

lsb-cprocsp-capilite - Интерфейс CAPILite и утилиты

lsb-cprocsp-kc1 - Провайдер криптографической службы KC1

lsb-cprocsp-rdr - Поддержка ридеров и RNG

cprocsp-rdr-gui-gtk - Графический интерфейс для диалоговых операций

cprocsp-rdr-rutoken - Поддержка карт Рутокен

cprocsp-rdr-jacarta - Поддержка карт JaCarta

cprocsp-rdr-pcsc - Компоненты PC/SC для ридеров КриптоПро CSP

lsb-cprocsp-pkcs11 - Поддержка PKCS11

3. Ввод лицензионного кода

Далее мастер предложит ввести код лицензии. Делать это не обязательно. По умолчанию КриптоПро включает стандартную лицензию на три месяца. Проверить срок действия лицензии можно стандартной командой в Терминале

/opt/cprocsp/sbin/amd64/cpconfig -license -view

Установка КриптоПро в Linux

4. Установка дополнительных файлов поддержки КрптоПро

Если установка КриптоПро запущена не в графическом режиме или при установке выбраны не все компоненты, то следует в обязательном порядке установить следующие пакеты (найти их можно в папке установки КриптоПро с файломinstall_gui.sh):

Установка КриптоПро в Linux

5. Установка драйверов Рутокен

Rutoken Lite не требует установки дополнительных драйверов. Для установки других типов Рутокена потребуется посетить официальный сайт и установить необходимые драйвера.

Однако для полноценной работы Рутокена потребуется установить дополнительные библиотеки при помощи команды в Терминале:

sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Установка КриптоПро в Linux

Для Rutoken S, JaCarta PKI потребуется установка дополнительных драйверов. Пишите в комментариях, если кому-то нужно расписать данный момент.

6. Перезапуск службы pcscd

Перезапустить указанную службы легко при помощи команды

sudo service pcscd restart

Установка КриптоПро в Linux

7. Проверка работоспособности Рутокена при помощи фирменных средств производителя

Выполнив команду pcsc_scan в терминале, можно проверить работоспособность подключенного Рутокена. Если картинка такая же, как и на скриншоте, то все работает правильно.

Результат выполнения команды pcsc_scan

8. Проверка работоспособности Рутокена при помощи встроенных средств КриптоПро

Средства КриптоПро также позволяют сразу же проверить работоспособность присоединенных носителей. Команда в терминале

/opt/cprocsp/bin/amd64/csptest -card -enum -v -v

Установка КриптоПро в Linux

9. Просмотр и Импорт в Личное хранилище сертификатов с Рутокена

Для просмотра личных сертификатов, имеющихся на подключенных контейнерах, выполняем команду в Терминале

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc

Установка КриптоПро в Linux

Для импорта всех личных сертификатов со всех подключенных носителей выполняем команду в Терминале

/opt/cprocsp/bin/amd64/csptestf -absorb -cert

Установка КриптоПро в Linux

10. Просмотр личных сертификатов в хранилище

Убедиться в успешном импорте сертификатов с Рутокена в Личное хранилище сертификатов можно при помощи команды в терминале

/opt/cprocsp/bin/amd64/certmgr -list -store uMy

Установка КриптоПро в Linux

Для удаления сертификата из личного хранилища сертификатов следует выполнить команду в Терминале:

/opt/cprocsp/bin/amd64/certmgr -delete -store umy

Далее терминал предложит указать номер удаляемого сертификата.

На скриншоте выше вы видите, что удостоверяющим центром, который выпустил мой сертификат, является ООО "Компания Тензор". Вот для этой компании и надо искать и устанавливать корневые сертификаты. Как установить корневые сертификаты, читайте в следующем пункте.

11. Импорт коренвых сертификатов в хранилище доверенных корневых сертификатов

Вначале скопируем кореные сертификаты в отдельную папку. Затем в контекстном меню, перейдя в эту папку, выполним команду Открыть в терминале. Далее произведем установку командой в Теримнале:

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor_44-2017.cer"

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor-2018_gost2012.cer"

sudo /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file "uc_tensor-2017.cer"

Установка КриптоПро в Linux

Установка КриптоПро в Linux

12. Установка КриптоПро ЭЦП Browser plug-in

Для установки КриптоПро ЭЦП Browser plug-in потребуется утилита alien. Установим ее командой:

sudo apt install alien

Установка КриптоПро в Linux

Далее скачиваем установочный пакет КриптоПро ЭЦП Browser plug-in с официального сайта КриптоПро.

Распаковываем архив cades_linux_amd64.zip и переходим перейти в каталог с распакованными файлами, выполним команду Открыть в терминале и далее выполним команды для преобразования rpm-пакетов в deb-пакеты:

Установка КриптоПро в Linux

alien -dc cprocsp-pki-2.0.0-amd64-cades.rpm

alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm

Далее устанавливаем deb-пакеты:

sudo alien -kci cprocsp-pki-cades_2.0.0-2_amd64.deb

sudo alien -kci cprocsp-pki-plugin_2.0.0-2_amd64.deb

Установка КриптоПро в Linux

Установка КриптоПро в Linux

Обратите внимание: при установке этих двух пакетов не должно быть ошибок.

13. Установка расширения браузера КриптоПро ЭЦП Browser plug-in

Далее необходимо в используемом вами браузере установить расширение КриптоПро ЭЦП Browser plug-in. Cсылка на расширение для Google Chrome

14. Тестирование работоспособности подписи

Если вы все сделали правильно, то КриптоПро настроен. Проверить подпись можно по ссылке

Установка КриптоПро в Linux

15. Доополнительное ПО для Рутокена

Если вам понадобятся дополнительные плагины или драйвера для Рутокена, то скачать вы всегда их сможете с официального сайта производителя по ссылке, которая указана ниже:

Установка КриптоПро в Linux

На этом все. Как выясняется, установка КриптоПро в Ubuntu Linux 18.04 не такая уж сложная.

Пингвин - символ Linux

Читайте также: