КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро Fox
Содержание
- 1
Загрузка[править]
- 2
Установка пакетов[править]
- 3
Прописывание путей к исполняемым файлам[править]
- 4
Проверка лицензии[править]
- 5
Удаление КриптоПро[править]
- 6
token-manager[править]
- 7
Управление считывателями[править]
- 8
Управление контейнерами[править]
- 9
Управление сертификатами[править]
- 10
Использование cptools[править]
- 11
Создание и проверка ЭЦП в gost-crypto-gui[править]
- 12
Создание и проверка ЭЦП с использованием cptools[править]
- 13
Создание и проверка подписи в командной строке[править]
- 14
Ссылки[править]
Загрузка[править]
Архив с программным обеспечением (КриптоПро CSP 4.0) можно загрузить после предварительной регистрации:
- linux-ia32.zip (18 МБ, для i586) КриптоПро CSP 4.0 для Linux (x86, rpm) для 32 разрядный систем
- linux-amd64.zip (18 МБ, для x86_64) КриптоПро CSP 4.0 для Linux (x64, rpm) для 64 разрядный систем
Установка пакетов[править]
1. Установите пакет cryptopro-preinstall:
2. Распакуйте архив, скачанный с официального сайта КриптоПро:
Таблица 1. Описание необходимых пакетов КриптоПро.
3. Установите пакеты КриптоПро:
- под правами пользователя root перейдите в папку с распакованным архивом:
- установите базовые пакеты:
- установите пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
- установите пакет для поддержки токенов (JaCarta):
Примечания:
- Можно запустить ./install_gui.sh в распакованном каталоге для установки пакетов КриптоПро:
- Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
- Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 (libopenmotif3) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5.
- Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat.
- В версии 4.0.0-alt5 пакета cryptopro-preinstall добавлены подпакеты:
-
cryptopro-preinstall-base для установки с cprocsp-compat-altlinux, «предоставляющим» lsb (в случае нежелательности «лишних» зависимостей вроде libqt3), и -
cryptopro-preinstall-full для автоустановки зависимостей cprocsp-rdr-gui.
-
Прописывание путей к исполняемым файлам[править]
Утилиты КриптоПро расположены в директориях /opt/cprocsp/sbin/<название_архитектуры> и /opt/cprocsp/bin/<название_архитектуры>.
- после установки пакета cryptopro-preinstall начните новый сеанс пользователя в консоли;
или
- выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
Проверка лицензии[править]
Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):
Для установки другой лицензии выполните (под root):
Удаление КриптоПро[править]
token-manager[править]
token-manager предоставляет графический интерфейс управления ключевыми носителями и сертификатами. С помощью этой программы можно:
- просматривать подключенные ключевые носители (токены);
- изменять PIN-код ключевого носителя;
- устанавливать, просматривать и удалять сертификаты;
- просматривать и устанавливать лицензию КриптоПро.
Установка пакета token-manager:
Запустить token-manager можно:
- из командной строки:
- в рабочей среде Mate: Меню Система ▷ Администрирование ▷ Ключевые носители и сертификаты;
- в рабочей среде KDE5: Меню запуска приложений ▷ Настройки ▷ Ключевые носители и сертификаты.
Проверка лицензии[править]
Проверить срок истечения лицензии можно выбрав в меню token-manager пункт Операции ▷ Просмотр лицензии КриптоПро CSP:
Для установки другой лицензии выберите в меню token-manager пункт Операции ▷ Ввод лицензии КриптоПро CSP:
Управление считывателями[править]
Считыватели (readers) – устройства, предназначенные для чтения ключей. К считывателям относится считыватели дискет (FAT12), считыватели флеш-накопителей (FLASH), считыватели смарт-карт и токенов, считыватель образа дискеты на жестком диске (HDIMAGE) и др.
Для смарт-карт: ключи дополнительно защищаются кодом доступа к защищенной памяти смарт-карты (PIN). При всех операциях с защищенной памятью (чтение, запись, удаление…) требуется вводить PIN. Для других носителей: для повышения безопасности на контейнер можно установить пароль. В этом случае всё содержимое контейнера хранится не в открытом виде, а в зашифрованном на этом пароле. Пароль задается при создании контейнера, в дальнейшем для чтения ключей из контейнера необходимо будет вводить пароль.
Считыватель HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/.
Инициализация считывателя Aktiv Co. Rutoken S 00 00, где в параметре -add указано имя, которое было получено при просмотре доступных считывателей, в параметре -name указано удобное для обращения к считывателю имя, например, Rutoken (под правами root):
Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd, которую необходимо запустить перед началом работы с соответствующими устройствами:
Можно включить службу pcscd в автозапуск при загрузке системы:
Управление контейнерами[править]
Создание контейнера[править]
Создадим контейнер с именем «test» в локальном считывателе HDIMAGE.
При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где будет предложено перемещать указатель мыши или нажимать клавиши:
После этого будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет):
После указания пароля снова будет предложено перемещать указатель мыши.
Локальный контейнер создан.
Откроется окно выбора носителя и способа создания контейнера:
Создание неизвлекаемого контейнера:
Создание обычного контейнера:
Просмотр доступных контейнеров[править]
Проверить наличие контейнеров можно с помощью команды:
Просмотр подробной информации о контейнере:
Удаление контейнера[править]
Удалить контейнер можно с помощью команды:
Управление сертификатами[править]
Создание запроса на получение сертификата[править]
Для создания запроса на получение сертификата потребуется:
- DN — данные, которые будут храниться в поле Subject сертификата (cn=Test User5,e=cas@altlinux.org).
- Имя контейнера вместе со считывателем (например, в локальном хранилище hdimage: \.HDIMAGEtest).
- Имя файла, в котором следует сохранить запрос (test5.csr).
Таблица 2. Типы применения.
Создать запрос на субъект «cn=Test User5,e=cas@altlinux.org», используя открытый ключ, сгенерированный в контейнере test текущего пользователя криптопровайдером «GOST R 34.10-2001» (тип — 75) и сохранить его в файл test5.req, назначение ключа — аутентификация и защита электронной почты:
Созданный запрос будет сохранен в файле test5.req. Эти данные нужны для получения сертификата в удостоверяющем центре.
Получение сертификата в УЦ и его установка[править]
Для получения сертификата в УЦ (на примере тестового удостоверяющего центра КриптоПро), необходимо выполнить следующие действия:
- Откройте в браузере ссылку http://www.cryptopro.ru/certsrv (тестовый удостоверяющий центр КриптоПро).
- Нажмите ссылку «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64»:
- Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла test5.csr и нажмите кнопку «Выдать»:
- Сохраните файл по ссылке «Загрузить цепочку сертификатов» (по умолчанию предлагается имя certnew.p7b):
Просмотреть полученный сертификат можно, выполнив команду:
Цепочка сертификатов содержит два сертификата:
- Сертификат удостоверяющего центра.
- Сертификат клиента.
Для установки сертификата удостоверяющего центра:
- выполните команду:
- в ответ на запрос команды нажмите 1.
Для записи сертификата клиента в контейнер:
- выполните команду:
- в ответ на запрос команды нажмите 2.
- введите пароль на контейнер \.HDIMAGEtest при запросе:
Просмотр сертификатов[править]
Для просмотра установленных сертификатов можно воспользоваться командой:
Удаление[править]
Удалить сертификат под номером 1 из хранилища КриптоПро:
Удалить все сертификаты из хранилища КриптоПро:
Импорт персонального сертификата[править]
Вы можете импортировать собственный сертификат в локальный считыватель HDIMAGE.
- Создание через cert-sh-functions (требует установки пакета cert-sh-functions)
- Создание сертификатов PKCS12 (достаточно только пакета openssl)
Допустим, мы пошли по первому пути и создали сертификат web-server (делать это строго под правами root):
Сертификат по умолчанию будет лежать в /var/lib/ssl/certs/web-server.cert, а ключ — в /var/lib/ssl/private/web-server.key
Создадим для нашего ключа и сертификата необходимый контейнер:
Проверка созданного контейнера (при запросе введите пароль, введённый в предыдущей команде):
И сертификат и ключ попали в контейнер.
Для импорта сертификата в КриптоПро используйте программу certmgr. В нашем случае:
Если Вам необходимо импортировать сертификат с токена:
Если контейнер защищен паролем используйте ключ -pin <пароль>
Использование cptools[править]
В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами — cptools. Для использования cptools необходимо установить пакет cprocsp-cptools-gtk из скаченного архива:
После этого её можно запустить из консоли:
Таблица 3. Сертификаты популярных удостоверяющих центров.
Для проверки можно скопировать персональный сертификат в файл:
(нажмите C и Enter, чтобы выйти).
То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):
После этого:
Всё в порядке и сертификат виден в плагине Cades.
Существуют два вида электронной подписи: прикреплённая (attached) и откреплённая (detached). В случае с прикреплённой, в результирующий файл упакованы данные исходного файла и подпись. В случае с откреплённой подписью, подписываемый документ остается неизменным, подпись же сохраняется в отдельном файле. Для проверки отсоединенной подписи нужны оба файла, файл подписи и файл исходного документа.
Создание и проверка ЭЦП в gost-crypto-gui[править]
gost-crypto-gui — средство для создания электронной подписи и шифрования файлов.
Запустить программу можно:
- из командной строки:
- в рабочей среде Mate: Меню Система ▷ Администрирование ▷ Подпись и шифрование файлов;
- в рабочей среде KDE: Меню запуска приложений ▷ Настройки ▷ Подпись и шифрование файлов.
С её помощью можно подписывать и проверять подписи файлов:
Для создания электронной подписи файла необходимо:
- Нажать кнопку «Подписать файл(ы)».
- Выбрать файл, который необходимо подписать.
- Выбрать сертификат и нажать кнопку «Далее»:
- Ввести пароль на контейнер (если он был установлен):
- Появится сообщение о подписанном файле:
Опции ЭП настраиваются в меню «Опции» (параметр «Отсоединенная подпись» не работает???):
Для проверки электронной подписи следует:
- Нажать кнопку «Проверить подпись».
- Выбрать подписанный файл.
- Появится информация о сертификате подписи:
Создание и проверка ЭЦП с использованием cptools[править]
Запустить программу можно из консоли (должен быть установлен cprocsp-cptools-gtk из скаченного архива КриптоПро):
С помощью cptools можно подписывать и проверять подписи файлов.
- В левом меню выбрать пункт «Создание подписи».
- Выбрать файл, который необходимо подписать, нажав кнопку «Выбрать файл для подписи» (или ввести адрес файла в текстовое поле под кнопкой «Выбрать файл для подписи»).
- Изменить имя файла подписи, если оно вас не устраивает:
- Нажать кнопку «Подписать».
- Ввести пароль на контейнер (если он был установлен).
- Появится сообщение о подписанном файле: «Создание подписи завершилось успехом».
Для проверки электронной подписи следует:
- В левом меню выбрать пункт «Проверка подписи».
- Выбрать файл с подписью, нажав кнопку «Выбрать файл с подписью для проверки» (или ввести адрес файла в текстовое поле под этой кнопкой).
- Нажать кнопку «Проверить подпись».
- Появится информация о результате проверки:
Создание и проверка подписи в командной строке[править]
Создание подписи[править]
Для создания электронной подписи файла необходимо указать сертификат и имя подписываемого файла.
где
-
-dn E=user@test.ru — сертификат по e-mail; -
-der — использовать формат DER для файла подписи (по умолчанию используется формат Base64); -
zayavlenie.pdf — имя подписываемого файла.
На выходе появится файл zayavlenie.pdf.sig, содержащий как сам подписываемый файл, так и электронную подпись.
Тогда рядом с оригинальным файлом будет лежать файл подписи — zayavlenie.pdf.sgn.
Проверка подписи[править]
Для проверки прикреплённой подписи выполните команду:
Показано, кто подписывал и что подпись проверена.
Также для проверки электронной подписи можно воспользоваться сервисом на сайте Госуслуг — https://www.gosuslugi.ru/pgu/eds.
Извлечение подписанного файла[править]
Для извлечения файла с данными из файла электронной подписи необходимо указать имя файла, в который будут извлечены данные, в конце команды проверки подписи:
Информацию о создании и проверки ЭЦП на веб-сайтах с помощью плагина КриптоПро можно найти в руководстве разработчика КриптоПро ЭЦП Browser plug-in:
-
КриптоПро ЭЦП. Руководство разработчика
Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP, пакета cprocsp-rdr-gui-gtk из его комплекта и расширения для браузера CryptoPro Extension for CAdES Browser Plug-in (для работы в Firefox версии 52 и выше).
- Скачайте архив по ссылке http://www.cryptopro.ru/products/cades/plugin/get_2_0 (будет скачан архив под архитектуру браузера) или на странице https://www.cryptopro.ru/products/cades/plugin/ нажмите ссылку «версия 2.0 для пользователей»:
- Распакуйте архив:
- Установите пакеты (под правами root, из папки с установочными файлами):
- Разместите ссылки (под правами root):
- Для работы в Firefox версии 52 и выше установите расширение для браузера Инструкция на сайте производителя. Для установки расширения в Mozilla Firefox скачайте его по ссылке https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi или нажмите на ссылку «Скачать расширение для браузера» на странице https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html
- На странице https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html вверху должна появится надпись: «Плагин загружен» и должен показаться сертификат в списке:
Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется установить версию не позже CSP 4.0R3 и плагин IFCPlugin
Журнал работы плагина можно найти в файле /var/log/ifc/ifc.log.
- Для установки КриптоПро JCP нужно установить Oracle Java 1.7.0 (через собственную сборку или пакеты для Fedora)
- Распакуйте архив и перейдите в каталог
- Выполните
Поддержка Рутокена[править]
- Загрузите драйвер для JCP http://www.rutoken.ru/support/download/rutoken-for-cp/ и распакуйте его
- Выполните:
Запуск контрольной панели[править]
(требует графического дисплея)
Ссылки[править]
Источник