Работа с крипто про линукс

Содержание
  1. Работа с крипто про линукс
  2. Работа с крипто про линукс
  3. Где взять документацию по установке? Какие пакеты ставить?
  4. Почему не работает команда csptest -keycopy -src cont ‘\.\FLASH\qwerty’ -d cont ‘\.\HDIMAGE\qwerty’ ?
  5. У меня есть сертификат и ключи. Почему у меня не получается установить сертификат при помощи cryptcp -instcert?
  6. При запуске любой утилиты из дистрибутива CSP я получаю ошибку: “/usr/lib/libcurl.so: cannot open shared object: No such file or directory”. Как это исправить?
  7. Какие есть готовые утилиты для работы с CSP и где взять на них документацию?
  8. В какую директорию устанавливается CSP? Где я могу найти утилиты для работы с CSP?
  9. Я хочу использовать готовые утилиты из состава КриптоПро CSP для работы с шифрованием и подписями. Какие пакеты мне для этого нужно поставить?
  10. Как сделать новые закрытые ключи?
  11. Как проверить, работоспособен ли контейнер с закрытыми ключами?
  12. Как посмотреть список закрытых ключей?
  13. Как я настраивал новые утилиты по работе с электронной подписью в Linux
  14. Настройка «КриптоПро» CSP
  15. Настройка работы с Рутокен ЭЦП 2.0
  16. Получаем тестовый сертификат
  17. Подпись средствами «КриптоПро CSP»
  18. Rosa Crypto Tool
  19. Trusted eSign
  20. Резюме

Работа с крипто про линукс

Настройка СКЗИ осуществляется при помощи утилиты cpconfig которая входит в состав дистрибутива и расположена в директории /opt/cprocsp/sbin/ .

Ввод серийного номера лицензии.

# cpconfig -license -view // Для ввода лицензии выполните:
# cpconfig -license -set // Серийный номер следует вводить с соблюдением регистра символов.

Настройка оборудования СКЗИ. Настройка устройств хранения (носителей) и считывания (считывателей) ключевой информации и датчиков случайных чисел.

Предустановленными являются считыватели flash-носителей и образ дискеты на жестком диске.

# ./cpconfig -hardware reader -view // Просмотра списка настроенных считывателей
# ./cpconfig -hardware reader -add FAT12_0 -name «Floppy Drive» // Добавление считывателя дискет

# ./cpconfig -hardware rndm -view // Просмотр списка настроенных ДСЧ
# ./cpconfig -hardware rndm -add bio_tui -level 5 -name «Console BioRNG» // Для добавления консольно БиоДСЧ.

Для работы со считывателем PC/SC требуется пакет cprocsp-rdr-pcsc. После подключения считывателя узнайте имя устройства:

Для добавления считывателя используйте это имя:

# ./cpconfig -hardware reader -add «Gemplus GemPC Twin 00 00»

Настройка криптопровайдера по умолчанию

# ./cpconfig -defprov -view_type Для просмотра типов доступных криптопровайдеров
# ./cpconfig -defprov -view -provtype

Для просмотра свойств криптопровайдера нужного типа
# ./cpconfig -defprov -setdef -provtype

Для установки провайдера по умолчанию для нужного типа
# ./cpconfig -defprov -getdef -provtype

Для получения имени провайдера по умолчанию для нужного типа

Источник

Работа с крипто про линукс

Далее описан процесс настройки и проверки работоспособности на примере Ubuntu 20.04 LTS

1. Установка КриптоПро CSP версии 5.0.

1.1. Выполните регистрацию на сайте нашей компании. Если Вы уже зарегистрированы – выполните вход (необходимо ввести адрес электронной почты и пароль, которые Вы указывали при регистрации).

1.3. Ознакомьтесь с условиями лицензионного соглашения и нажмите кнопку «Я согласен с лицензионным соглашением. Перейти к загрузке».

1.4. Нажмите кнопку «Скачать для Linux», для загрузки дистрибутива актуальной версии КриптоПро CSP.

1.5. Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb

1.6. Установите основные пакеты КриптоПро CSP: sudo ./install.sh

1.7. Установите дополнительные пакеты:

2.1. Установка «облачного» сертификата электронной подписи (через графический интерфейс пользователя).

2.1.1. Запустите приложение «Инструменты КриптоПро»: /opt/cprocsp/bin/amd64/cptools

2.1.2. Перейдите на вкладку «Облачный провайдер».

2.1.3. Укажите адрес сервера авторизации (1) и сервера DSS (2). Данные адреса необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи. Поле «Уникальное имя» (3) заполнится автоматически. Затем нажмите кнопку «Установить сертификаты» (4).

Обратите внимание! Если на вкладке «Облачный провайдер» уже будут указаны адреса https://dss.cryptopro.ru/STS/oauth и https://dss.cryptopro.ru/SignServer/rest (адреса тестового сервиса электронной подписи DSS, который не предназначен для хранения квалифицированных сертификатов электронной подписи и выполнения юридически значимых операций) — необходимо открыть выпадающий список под кнопкой «Выберите сервер» и выбрать пункт «Использовать новый сервер».

2.1.4. Введите логин пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».

2.1.5. Введите пароль пользователя для доступа к «облачному» сертификату, а затем нажмите кнопку «ОК».

2.1.6. При появлении уведомления о необходимости подтвердить операцию входа – выберите один из доступных методов аутентификации.

2.1.7. После этого Вы будете возвращены к интерфейсу программы «Инструменты КриптоПро». Чуть ниже кнопки «Установить сертификаты» появится уведомление об успешной установке.

2.2. Установка «облачного» сертификата электронной подписи (без использования графического интерфейса пользователя).

2.2.1. Выполните команду:

/opt/cprocsp/bin/amd64/csptest -cloud -register -login -save -unique -auth -rest -user -password

— — идентификатор сервера DSS. Можете задать любой, удобный для Вас идентификатор;

— — адрес сервера авторизации (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);

— — адрес сервера DSS (необходимо получить в организации, предоставившей Вам «облачный» сертификат электронной подписи);

— — логин пользователя для доступа к «облачному» сертификату;

— пароль пользователя для доступа к «облачному» сертификату.

2.2.2. Появление статуса [ErrorCode: 0x00000000] означает, что установка была выполнена успешно.

Обратите внимание! Установку сертификатов без использования графического интерфейса можно выполнить только в случае, если операция входа в центр идентификации DSS не требует вторичной аутентификации.

Читайте также:  Как узнать установлен ли mysql linux

3.1. Проверка работоспособности (через графический интерфейс пользователя).

3.1.1. Перейдите на вкладку «Создание подписи».

3.1.2. Выберите Ваш «облачный» сертификат из списка (1), выберите любой файл для подписи (2) и нажмите кнопку «Подписать» (3).

3.1.3. Повторите действия из п. 2.1.4 – 2.1.6.

3.1.4. В случае успешного формирования подписи чуть ниже кнопки «Подписать» появится уведомление об успешном создании подписи.

3.2. Проверка работоспособности (без использования графического интерфейса пользователя).

3.2.1. Выполните команду:

/opt/cprocsp/bin/amd64/cryptcp -sign /path/to/file /path/to/signature.sig –q

— /path/to/file – путь до подписываемого файла;

— /path/to/signature.sig – путь до подписанного файла.

3.2.2. Если у Вас установлено несколько сертификатов электронной подписи – после выполнения команды нужно будет ввести порядковый номер требуемого сертификата.

3.2.3. Появление статуса [ErrorCode: 0x00000000] означает, что файл был успешно подписан.

Обратите внимание! Подписать файл без использования графического интерфейса можно только в случае, если операции входа и подписи не требует вторичной аутентификации.

Источник

Где взять документацию по установке? Какие пакеты ставить?

Инструкции по установке и настройке, а также описание пакетов даны в документе «Руководство администратора безопасности. Linux». Этот документ входит в состав документации на CSP, его можно скачать на странице загрузки CSP или в разделе «Документация»: http://cryptopro.ru/support/docs .

Если у Вас FreeBSD/Solaris/AIX — см. «Руководство администратора безопасности. FreeBSD/Solaris/AIX».

Почему не работает команда csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty’ ?

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

Попробуйте назвать копию как-нибудь иначе, например:

csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty1’

У меня есть сертификат и ключи. Почему у меня не получается установить сертификат при помощи cryptcp -instcert?

сryptcp -instcert устанавливает сертификат только при условии, что запрос на него был создан на этой же машине этим же пользователем операционной системы при помощи команды cryptsp –creatrqst.

В общем случае, для установки сертификатов рекомендуется использовать утилиту certmgr.

При запуске любой утилиты из дистрибутива CSP я получаю ошибку: “/usr/lib/libcurl.so: cannot open shared object: No such file or directory”. Как это исправить?

Установите пакет curl (рекомендуется использовать версию, которая поставляется вместе с CSP, поскольку работоспособность с этой версией проверена; если вместе с CSP пакет не был получен, установите пакет из репозитория своего дистрибутива или скачайте подходящую версию с сайта: http://curl.haxx.se/download.html ). Затем проверьте, что ссылка из секции [apppath] из файла /etc/opt/cprocsp/config.ini
“libcurl.so” =

указывает на библиотеку libcurl из состава пакета curl ( обычно путь имеет вид /usr/lib/libcurl.so.4 ).

Какие есть готовые утилиты для работы с CSP и где взять на них документацию?

Основными утилитами для работы с CSP версии 3.0 являются cryptcp и storeman; с CSP версии 3.6 – cryptcp и certmgr.

Утилиты storeman и certmgr предназначены для работы с сертификатами и списками отзыва. Их основным назначением является установка сертификатов и списков отзыва, их удаление, просмотр установленных.

Документация по storeman в формате pdf входит в состав документации на CSP. Для certmgr есть man. Для его просмотра наберите
% man 8 certmgr

В какую директорию устанавливается CSP? Где я могу найти утилиты для работы с CSP?

CSP устанавливается в /opt/cprocsp.

Утилиты для работы с функциями криптопровайдера находятся в
/opt/cprocsp/bin/ia32 – если Вы используете архитектуру ia32, и в
/opt/cproscp/bin/x64 – если Вы используете архитектуру x64.

Служебные утилиты находятся в
/opt/cprocsp/sbin/ia32 – если Вы используете архитектуру ia32, и в
/opt/cproscp/sbin/x64 – если Вы используете архитектуру x64.

Конфигурационные файлы находятся в
/etc/opt/cprocsp .

Пользовательская информация (информация об установленных сертификатах, ключи и тому подобное) находится в
/var/opt/cprocsp .

Я хочу использовать готовые утилиты из состава КриптоПро CSP для работы с шифрованием и подписями. Какие пакеты мне для этого нужно поставить?

Для этого нужно установить следующие пакеты в следующем порядке:
lsb-cprocsp-base
lsb-cprocsp-rdr
lsb-cprocsp-kc1
lsb-cprocsp-capilite .
Или, если используется архитектура x64 — соответствующие пакеты для x64. Описание пакетов и инструкции по установке даны в документе «Руководство администратора безопасности. Linux» из документации на CSP. Если Вы используете Solaris/FreeBSD/AIX — см. руководство администратора безопасности для Solaris/FreeBSD/AIX .

Как сделать новые закрытые ключи?

Обычно ключи создаются вместе с запросом на сертификат. Если Вам требуется создать ключи и запрос на сертификат, воспользуйтесь утилитой cryptcp(документация на неё входит в состав документации на CSP, см. раздел «Работа с запросами на сертификат»).

Если требуется просто сделать новые ключи, можно воспользоваться утилитой csptest. Она находится в директории /opt/cprocsp/bin/ .

Создание контейнера пользователя:
csptest -keyset -newkeyset -cont ‘\\.\имя считывателя\имя контейнера’

Создание контейнера компьютера:

Как проверить, работоспособен ли контейнер с закрытыми ключами?

Открыть(проверить) контейнер можно утилитой csptest. Она находится в директории /opt/cprocsp/bin/ :

Открыть(проверить) контейнер пользователя:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’

Открыть(проверить) контейнер компьютера:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’ -machinekeyset

где имя считывателя:
HDIMAGE, если используете жесткий диск для хранения ключей
FLASH, если используете флешку
FAT12_0, если используете дискету

Читайте также:  Как активировать windows после замены жесткого диска

Как посмотреть список закрытых ключей?

Список контейнеров с закрытыми ключами можно посмотреть утилитой csptest. Она находится в директории /opt/cprocsp/bin/

Перечисление контейнеров пользователя:
csptest -keyset -enum_cont -verifycontext -fqcn

Перечисление контейнеров компьютера:
csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys

В полученном списке имена контейнеров будут представлены в том виде, в котором их воспринимают все бинарные утилиты, входящие в дистрибутив CSP (\\.\ \ ).

Источник

Как я настраивал новые утилиты по работе с электронной подписью в Linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.

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

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

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

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

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

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

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

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

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

  • Отсутствие хорошей документации;
  • Отсутствие графического интерфейса.
Читайте также:  Решено неправильные разрешения каталогов службы поиска windows

Подписать можно с помощью команды:

Здесь,
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-сервисом по работе с подписью этой же компании.

Найти продукт на сайтах компании “Цифровые технологии” непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133

К сожалению, продукт пока доступен только в виде 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.

Источник

Оцените статью