- Linux cryptopro5 подпись файлов и установка
- Загрузка
- Запуск контрольной панели
- Извлечение подписанного файла
- Импорт персонального сертификата
- Криптопро эцп browser plug-in
- О криптопро
- Подпись
- Получение сертификата в уц и его установка
- Проверка лицензии
- Проверка подписи
- Проверка цепочки сертификатов
- Прописывание путей к исполняемым файлам
- Просмотр доступных контейнеров
- Просмотр сертификатов
- Совместимость
- Создание запроса
- Создание контейнера
- Удаление
- Управление ридерами
- Установка пакетов
Linux cryptopro5 подпись файлов и установка
если во время установки, к примеру от пользователя www-data, произошла ошибка во время установке pfx, убедитесь, что
Загрузка
Архив с программным обеспечением (КриптоПро CSP 4.0) можно загрузить после предварительной регистрации:
- linux-ia32.zip (18 МБ, для i586)
- linux-amd64.zip (18 МБ, для x86_64)
Внимание! По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца
Запуск контрольной панели
(требует графического дисплея)
Извлечение подписанного файла
Для извлечения файла необходимо указать его имя в конце команды проверки подписи.
Импорт персонального сертификата
Вы можете импортировать собственный сертификат в локальный считыватель HDIMAGE.
Если у вас нет сертификата, самое время его создать:
Допустим, мы пошли по первому пути и создали сертификат web-server (делать это строго под правами root):
Сертификат по умолчанию будет лежать в /var/lib/ssl/certs/web-server.cert, а ключ — в /var/lib/ssl/private/web-server.key
Для импорта потребуется файл сертификата и закрытый ключ в контейнере PKCS#12.
Создадим для нашего ключа и сертификата необходимый контейнер:
Примечание:
При создании контейнера будет дважды запрошен пароль для экспорта. По соображениям безопасности вводимые символы не показываются. После ввода каждого пароля нажимайте Enter.
Проверка созданного контейнера (при запросе введите пароль, введённый в предыдущей команде):
И сертификат и ключ попали в контейнер.
После генерации сертификата проверим наличие считывателя:
Для импорта сертификата в КриптоПро используйте программу certmgr. В нашем случае:
Если Вам необходимо импортировать сертификат с токена:
Если контейнер защищен паролем используйте ключ -pin <пароль>
Криптопро эцп browser plug-in
Внимание! Последняя доступная версия плагина КриптоПро ЭЦП Browser plug-in 2.0 требует КриптоПро 4.0. С более ранними версиями КриптоПро плагин не работает и конфликтует.
О криптопро
КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.
Подпись
Для электронной подписи файла необходимо указать сертификат и имя подписываемого файла:
Примечание:
Проще всего для указания сертификата использовать адрес e-mail.
где
На выходе появляется файл zayavlenie.pdf.sig, содержащий как сам подписываемый файл, так и электронную подпись.
Получение сертификата в уц и его установка
Показать содержимое запроса:
Просмотреть полученный сертификат:
$ certmgr -list -file certnew.p7bCertmgr 1.0 (c) "CryptoPro", 2007-2022.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Serial : 0x2B6E3351FD6EB2AD48200203CB5BA141
SHA1 Hash : 0x046255290b0eb1cdd1797d9ab8c81f699e3687f3
SubjKeyID : 15317cb08d1ade66d7159c4952971724b9017a83
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 05/08/2022 13:44:24 UTC
Not valid after : 05/08/2022 13:54:03 UTC
PrivateKey Link : No
2-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=Test User5, E=cas@altlinux.org
Serial : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 28/06/2022 10:22:36 UTC
Not valid after : 28/09/2022 10:32:36 UTC
PrivateKey Link : No
Extended Key Usage : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]
Установите сертификат удостоверяющего центра:
(нажмите 1)
Установите сертификат клиента (введите пароль на контейнер \.HDIMAGEtest при запросе):
(нажмите 2)
Проверка лицензии
Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):
Примечание:
Для версии КриптоПро CSP под Linux все лицензии считаются серверными, поэтому не смущайтесь строкой «License type: Server».
Для установки другой лицензии выполните (под root):
Примечание:
Серийный номер следует вводить с соблюдением регистра символов.
Проверка подписи
Для проверки подписи выполните:
Показано, кто подписывал и что подпись проверена.
Проверка цепочки сертификатов
Внимание! В кэше сертификатов для выпущенного сертификата должны присутствовать корневые сертификаты удостоверяющих центров. В противном случае он будет недоступен в плагине для браузера!
Таблица 3. Сертификаты популярных удостоверяющих центров.
Для проверки можно скопировать персональный сертификат в файл:
(нажмите C и Enter, чтобы выйти).
Запуск с отладкой цепочки:
То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):
После этого:
Всё в порядке и сертификат виден в плагине Cades.
Прописывание путей к исполняемым файлам
Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:
- установите пакет cryptopro-preinstall и начните новый сеанс в консоли
или
Внимание! Если установлен пакет mono или mono4-devel, может быть конфликт по имени утилиты certmgr
Просмотр доступных контейнеров
Локальный контейнер создан.
Просмотр сертификатов
$ certmgr -list Certmgr 1.0 (c) "CryptoPro", 2007-2022.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=Test User5, E=cas@altlinux.org
Serial : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 28/06/2022 10:22:36 UTC
Not valid after : 28/09/2022 10:32:36 UTC
PrivateKey Link : Yes
Container : HDIMAGE\test.0002EF8
Provider Name : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info : ProvType: 75, KeySpec: 1, Flags: 0x0
Extended Key Usage : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]
Совместимость
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро Fox
Примечание:
В репозитории доступен пакет firefox-gost, аналогичный КриптоПро Fox, с патчем от КриптоПро.
Создание запроса
Для создания запроса потребуется:
Создание контейнера
Примечание:
Для того, чтобы сертификат из контейнера можно было использовать через модуль pkcs11 (из пакета lsb-cprocsp-pkcs11) в браузере firefox-gost, необходимо создать его с -provtype 75 (поддержка ГОСТ-2001. Просмотреть доступные типы провайдеров можно командой cpconfig -defprov -view_type)
Создадим контейнер с именем «test» в локальном ридере HDIMAGE.
При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где предложат двигать курсором мыши:
Примечание:
Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры
После показа окна будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет) и снова предложат двигать курсором мыши.
Удаление
Удалить сертификат под номером 1:
Удалить все сертификаты:
Управление ридерами
Ридеры (readers) — устройства размещения контейнеров (аппаратные токены, каталог для размещения файлов).
Просмотр доступных ридеров:
Ридер HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/
Инициализация ридера HDIMAGE (под правами root):
Установка пакетов
1. Распакуйте архив и перейдите в распакованную папку
2. Установите пакет cryptopro-preinstall:
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).
Примечание:
Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat, opensc, pcsc-lite, pcsc-lite-rutokens, pcsc-lite-ccid.
Таблица 1. Описание необходимых пакетов КриптоПро.
Пакет | Описание |
---|---|
Базовые пакеты: | |
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-pcsc | Компоненты PC/SC для ридеров КриптоПро CSP |
lsb-cprocsp-pkcs11 | Поддержка PKCS11 |
ifd-rutokens | Конфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория) |
3. Установите пакеты КриптоПро:
Под правами пользователя root установите базовые пакеты:
для поддержки токенов (Рутокен S и Рутокен ЭЦП):
Примечания: