...
https://www.cryptopro.ru/products/csp
...
Предупреждение |
---|
В качестве СКЗИ разрешается использовать только КриптоПро CSP |
...
Архив с программным обеспечением (КриптоПро CSP) можно загрузить c официального сайта www.cryptopro.ru, предварительно зарегистрировавшись на сайте.
Для ОС AstraLinux следует загрузить пакет:
КриптоПро CSP 4.0 для Linux (x64, deb) - пакет для 64 разрядной системы.
Информация |
---|
Пробный период использования КриптоПро CSP составляет 3 месяца, по истечении которых необходимо приобрести полноценную лицензию. |
К моменту написания статьи, была использована сертифицированная версия ПО «КриптоПро» «4.0 R3».
Для примера был проделан следующий алгоритм действий:
1) Загрузка архива с сертифицированной версией ПО «КриптоПро» «4.0 R3»:
Название полученного файла: «linux-amd64_deb.tgz».
2) Открыть "Терминал Fly" (alt+T)
3) Разархивируем скаченный архив в терминале командой:
tar -zxf linux-amd64_deb.tgz
5) Перейдем в директорию с ПО
cd /linux-amd64_deb
следующих версий:
Указанные СКЗИ должны использоваться в исполнениях 1-Base или 2-Base. СКЗИ КриптоПро CSP в исполнении 2-Base должно использоваться с аппаратно-программным модулем доверенной загрузки (АПМДЗ). При эксплуатации СКЗИ необходимо соблюдать требования и рекомендации эксплуатационной документации на СКЗИ, в частности требования по защите от несанкционированного доступа и по криптографической защите, а также требования по поддерживаемым СКЗИ аппаратно-программным платформам. В частности, при использовании СЭП со встроенным СКЗИ необходимо проведение проверки программного обеспечения BIOS ЭВМ, на которых предполагается функционирование СКЗИ и СЭП, на соответствие методическим документам ФСБ России в области исследований программного обеспечения BIOS. Контроль целостности СКЗИ и СЭП должен выполняться с использованием механизма замкнутой программной среды ОС или с использованием стандартных средств контроля целостности КриптоПро CSP. |
Установка КриптоПро CSP
...
Архив с программным обеспечением (КриптоПро CSP) можно загрузить c официального сайта www.cryptopro.ru, предварительно зарегистрировавшись на сайте.
Для ОС Astra Linux следует загрузить пакет КриптоПро CSP 4 и выше версии - пакет для 64 разрядной системы.
Информация |
---|
Пробный период использования КриптоПро CSP составляет 3 месяца, по истечении которых необходимо приобрести полноценную лицензию. |
Для написания настоящей статьи была использована сертифицированная версия ПО «КриптоПро» «4.0 R4». При этом был выполнен следующий алгоритм действий:
1) загрузить архив с сертифицированной версией ПО «КриптоПро». Название полученного файла: «linux-amd64_deb.tgz»;
2) открыть "Терминал Fly" (alt+T);
3) разархивировать полученный архив в терминале командой:
Command |
---|
tar -zxf linux-amd64_deb.tgz |
5) перейти в каталог с ПО:
Command |
---|
cd linux-amd64_deb |
6) выполнить установку ПО с помощью запуска сценария "install.sh" или "instal_gui.sh" командой:
Command |
---|
sudo ./install_gui.sh |
* Выбрать необходимые модули, библиотеки.
Описание необходимых пакетов КриптоПро
Пакет | Описание |
---|---|
Базовые пакеты: | |
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- |
6) выполним установку ПО с помощью запуска скрипта "install.sh" или "instal_gui.sh" командой:
sudo ./install_gui.sh
* Выбрать необходимые модули, библиотеки.
Описание необходимых пакетов КриптоПро
Пакет | Описание |
---|---|
Базовые пакеты: | |
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 |
Для просмотра всех
...
установленных пакетов
...
КриптоПро CSP
...
ввести команду:
Command |
---|
dpkg -l | grep cprocsp |
Прописывание путей к исполняемым файлам
Для того, чтобы не вводить каждый раз полный путь к утилитам КриптоПро CSP, в терминале FLY следует ввести команду:
Блок кодаcommand |
---|
export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr '\n' ':')$PATH" |
...
Установка дополнительных пакетов с модулем поддержки для токена
Для корректной работы с токеном/смарт-картой обязательно требуется ставить пакет с модулем поддержки:Страница загрузки установить:
библиотека libccid, libgost-astra , пакеты pcscd
Command |
---|
sudo apt install libccid pcscd libgost-astra |
Пакеты с модулем поддержки:
- Для Рутокен: https://www.rutoken.ru/support/download/
...
...
- Для Алладин: https://www.aladdin-rd.ru/support/downloads/jacarta
После установки пакетов с модулем поддержки токена следует перезагрузить службу pcscd:
Command |
---|
sudo service pcscd restart |
Проверка лицензии
Проверить срок истечения лицензии можно командой:
/opt/cprocsp/sbin/amd64/cpconfig -license -view
Установка лицензии
...
Предупреждение |
---|
Начиная с версии КриптоПро 4.0 R4 и выше, модули поддержки смарт-карт входят в состав пакета. |
Ключ для работы в режиме замкнутой программной среды Astra Linux SE.
...
Перед импортом ключа, следует:
- Установить пакет astra-digsig-oldkeys;
- Ключ для работы в режиме замкнутой программной среды Astra Linux SE следует загрузить и поместить в предварительно созданный каталог /etc/digsig/keys/legacy/cryptopro;
Выполнить команду:
Command sudo update-initramfs -uk all - Перезагрузить компьютер.
Информация |
---|
см. Astra Linux Special Edition: Режим замкнутой программной среды |
Проверка лицензии
Проверить срок истечения лицензии можно командой:
/opt/cprocsp/sbin/amd64/cpconfig -license -view
Установка лицензии
Для установки другой лицензии следует выполнить команду :
Command |
---|
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <ваш_лицензионный_номер> |
Носители и контейнеры
...
Идентификация токена
Для просмотра списка настроенных считывателей можно воспользоваться командой:
Command |
---|
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view |
Чтобы узнать модель подключенного токена, следует ввести команду:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -card -enum -v -v |
После чего система выдаст информацию о подключенном устройстве:
Проверить наличие носителей с контейнерами можно с помощью команды:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum -unique |
в формате FQCN, отображается имя носителя:
Command |
---|
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc | iconv -f cp1251 |
В этом случае будет выведен список носителей с контейнерами в следующем формате:
Где \\.\HDIMAGE - локальный носитель, \\.\HDIMAGE\TestCont123 - название контейнера, \\.\Aktiv Rutoken ECP 00 00 - название носителя (токена).
Подробная информация про "Имена контейнеров"
Информация о контейнерах
Для просмотра подробной информации о контейнерах воспользуйтесь командой:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container 'ИМЯ' -info |
Пример работы команды:
Раскрыть |
---|
sudo /opt/cprocsp/sbin/amd64/cpconfig -license -set <ваш_лицензионный_номер>
Установка КриптоПро ЭЦП Browser plug-in
a)Установить пакет alien, необходимый для конвертации rpm-пакетов в deb-формат
$ sudo apt install alien
б) Загрузить архив cades_linux_amd64.zip
https://www.cryptopro.ru/products/cades/plugin/get_2_0
в) Распаковать архив cades_linux_amd64.zip перейти в каталог с распакованными файлами и выполнить команды:
alien -dc cprocsp-pki-2.0.0-amd64-cades.rpm
alien -dc cprocsp-pki-2.0.0-amd64-plugin.rpm
г) Установить deb-пакеты:
dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb cprocsp-pki-plugin_2.0.0-2_amd64.deb
д) Дальнейшие настройки различаются в зависимости от используемого браузера:
Браузер Chrome
Запустите Chrome и дождитесь оповещения об установленном расширении "CryptoPro Extension for CAdES Browser Plug-in". Включите это расширение. Если на Вашем компьютере ранее уже выполнялась установка КриптоПро ЭЦП Browser plug-in, а потом он был удален, потребуется отдельно установить расширение. Для этого перейдите по ссылке и установите расширение из интернет-магазина Chrome.
Браузер Opera или Яндекс.Браузер
расширение доступно по ссылке.
Браузер Firefox
скачайте расширение по ссылке и установите в браузер самостоятельно.
Проверка корректности установки на странице проверки плагина
Для этого в открывшемся окне подтвердите доступ путем нажатия кнопки "Да".
Если установка КриптоПро ЭЦП Browser plug-in прошла успешно, появится окно с надписью "Плагин загружен", указанием его версии и используемой Вами версии КриптоПро CSP.
д) Тестовый сайт предложит Вам подписать документ и выбрать нужный Вам сертификат.
В случае если у Вас отсутствуют "личные сертификаты" → нажимаем на корневой сертификат тестового УЦ - Просмотреть - Подробности - Экспортировать - Сохранить.
...
/opt/cprocsp/bin/amd64/ |
...
csptestf - |
...
Перезапускаем браузер.
Заходим на страницу проверки работы КриптоПро ЭЦП Browser Plug-in и нажимаем получить, выполняем все всплывающие требования. Сертификат получен.
Альтернативный метод получения тестового сертификата
1) Перейдите на сайт Тестового Удостоверяющего центра ООО "КРИПТО-ПРО"
2) Для получение сертификата, перейдите в раздел Сформировать ключи и отправить запрос на сертификат
3) Заполните идентифицирующие сведения:
4) Нажмите "Выдать", после чего выйдет GTK-окно для создания случайных последовательностей:
5) После чего, CryptoPro CSP потребует вести новый пароль для контейнера
6) Тестовый УЦ КриптоПро уведомит нас о том, что сертификат выдан
7) Пройти по ссылке и установить сертификат, введя пароль контейнера.
8) После успешной установки сертификата, следует перейти на страницу проверки создания электронной подписи CAdES-BES
Получение тестового сертификата с помощью cli
Для запроса, получения и установки сертификата с тестового УЦ "КриптоПро" - можно, воспользоваться одной командой:
cryptcp -creatcert -rdn 'E=email@astralinux.ru, CN=имя_сертификата' -cont '\\.\HDIMAGE\имя_контейнера' -hashalg 1.2.643.7.1.1.2.2
Носители и контейнеры
Идентификация токена
...
/opt/cprocsp/bin/amd64/csptest -card -enum-v -v
После чего система выдаст информацию о подключенном устройстве:
Проверить наличие носителей с контейнерами можно с помощью команды:
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum -unique
в формате FQCN, отображается имя носителя:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
В этом случае будет выведен список носителей с контейнерами в следующем формате:
Где \\.\HDIMAGE - локальный носитель, \\.\HDIMAGE\TestCont123 - название контейнера, \\.\Aktiv Rutoken ECP 00 00 - название носителя (токена).
Подробная информация про "Имена контейнеров"
Создание локального носителя
Если локального носителя не существует, то его можно создать командой:
sudo /opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add HDIMAGE store
Примечание |
---|
HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/ |
Создание контейнера
Для создания контейнера в носителе HDIMAGE следует воспользоваться командой:
/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\\.\HDIMAGE\TestCont'
Для добавления контейнера в носитель токена следует воспользоваться командой:
/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont '\\.\Aktiv Rutoken ECP 00 00\TestCont'
Информация | ||
---|---|---|
| ||
Название токена может отличаться. Для идентификации воспользуйтесь командой: csptest -card -enum -v -v |
В 5-ой версии КриптоПРО CSP v.5.0, для создания контейнера, имя носителя можно не указывать, а выбрать в интерактивном gtk-диалоге:
/opt/cprocsp/bin/amd64/csptest -keyset -newkeyset -cont 'имя_контейнера'
Для неизвлекаемого контейнера, в GTK-окне следует выбрать "Вид приложения" → "Active token without secure channel" :
Информация о контейнерах
Для просмотра подробной информации о контейнерах воспользуйтесь командой:
/opt/cprocsp/bin/amd64/csptestf -keyset -container 'ИМЯ' -info
...
keyset -container 'Shuhrat' -info |
Информация | ||
---|---|---|
При наличии кириллических символов в имени ключевого контейнера для дальнейшей работы с таким контейнером необходимо использовать его уникальный идентификатор. Чтобы получить уникальные идентификаторы ключевых контейнеров используйте команду:
|
Примечание |
---|
Следует учесть про PIN-коды в контейнерах:
|
Проверка работы контейнера
Для того чтобы проверить работу контейнера (в том числе возможность выполнения разных операций при текущей лицензии), следует выполнить команду:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container ИМЯ -check |
Пример работы команды:
Раскрыть |
---|
/opt/cprocsp/bin/amd64/csptestf -keyset -container Shuhrat -check CSP (Type:80) v5.0.10001 KC1 Release Ver:5.0.11233 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 28224051 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP Container name: "Shuhrat" Check header passed. Signature key is available. HCRYPTKEY: 0x1b53883 Exchange key is available. HCRYPTKEY: 0x1b57e23 Symmetric key is not available. UEC key is not available. License: Cert without license Check container passed. Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed (import restricted). Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed. Certificate in container matches AT_KEYEXCHANGE key. Keys in container: signature key exchange key Extensions: OID: 1.2.643.2.2.37.3.9 PrivKey: Not specified - 18.01.2020 07:31:07 (UTC) OID: 1.2.643.2.2.37.3.10 PrivKey: Not specified - 18.01.2020 07:31:12 (UTC) Total: SYS: 0,030 sec USR: 0,140 sec UTC: 2,430 sec [ErrorCode: 0x00000000] |
Удаление контейнера
Для удаления контейнера следует воспользоваться командой:
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestCont' -deletek |
Копирование контейнера
Для примера скопируем контейнер из локального хранилища в хранилище Рутокена ЕЦП:
Command |
---|
csptestf -keycopy -contsrc '\\.\HDIMAGE\Контейнер_оригинал' -contdest '\\.\Aktiv Rutoken ECP 00 00\Контейнер_копия' |
Смена пароля на контейнер (снятие паролей с контейнера)
Command |
---|
/opt/cprocsp/bin/amd64/csptestf -passwd -cont '\\.\Aktiv Rutoken ECP 00 00\TestContainer' -change 'новый_пароль' -passwd 'старый_пароль |
Примечание | ||
---|---|---|
В случае, если контейнеру с ключом не был задан PIN, следует воспользоваться командой:
|
Менеджер сертификатов КриптоПро в Linux
...
Категории сертификатов
Сертификаты делятся на четыре категории:
- личные сертификаты (устанавливаются в хранилище umy, где u = User, my - имя хранилища). Для таких сертификатов, как правило, имеется закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл;
- корневые сертификаты - краеугольный камень безопасности, так как цепочки доверия строятся от них. Корневые сертификаты надо добавлять в хранилища осознанно и внимательно (устанавливаются в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут доступны в режиме read only в root-хранилищах всех пользователей);
- промежуточные сертификаты - появляются, когда есть промежуточные УЦ (структура вида "головной УЦ" -> "промежуточный УЦ" -> "пользовательский сертификат"). Прямое доверие к ним не требуется (устанавливаются в uca, также администратор может поставить их в mca). В это же хранилище устанавливаются и списки отзыва сертификатов (CRL). Обычно точки получения промежуточных сертификатов и списков отзыва (CRL) правильно указаны в пользовательских сертификатах, поэтому они загружаются автоматически и устанавливаются в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
- сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это не лучшая, но распространенная практика), либо в uAddressBook;
Установка
Пример установки личного сертификата, выданного УЦ Министерства Обороны Российской Федерации:
Установка всех личных сертификатов со всех контейнеров в uMy :
Command |
---|
Примечание |
---|
Следует учесть про PIN-коды в контейнерах: * если само устройство осуществляет аутентификацию (как к примеру токен), то PIN при создании не создаётся, а предъявляется, так как он - свойство устройства. Как следствие: у всех контейнеров на токене одинаковый PIN. * если устройство не аутентифицирует (как HDIMAGE), то при создании контейнера, создаётся PIN-код. Следствие: у всех контейнеров, PIN-код на HDIAMGE может быть разным. |
Проверка работы контейнера
...
/opt/cprocsp/bin/amd64/csptestf - |
...
absorb - |
...
certs - |
...
autoprov |
Установка определенного сертификата с определенного контейнера в uMy:
Commandexpand |
---|
/opt/cprocsp/bin/amd64/csptestf certmgr -keyset -container Shuhrat -check CSP (Type:80) v5.0.10001 KC1 Release Ver:5.0.11233 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 28224051 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP Container name: "Shuhrat" Check header passed. Signature key is available. HCRYPTKEY: 0x1b53883 Exchange key is available. HCRYPTKEY: 0x1b57e23 Symmetric key is not available. UEC key is not available. License: Cert without license Check container passed. Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed (import restricted). Check sign passed. Check verify signature on private key passed. Check verify signature on public key passed. Check import passed. Certificate in container matches AT_KEYEXCHANGE key. Keys in container: signature key exchange key Extensions: OID: 1.2.643.2.2.37.3.9 PrivKey: Not specified - 18.01.2020 07:31:07 (UTC) OID: 1.2.643.2.2.37.3.10 PrivKey: Not specified - 18.01.2020 07:31:12 (UTC) Total: SYS: 0,030 sec USR: 0,140 sec UTC: 2,430 sec [ErrorCode: 0x00000000] |
Удаление контейнера
Для удаления контейнера следует воспользоваться командой:
...
inst -cont '\\.\Aktiv Rutoken ECP 00 00\Ivanov' |
Установка сертификата удостоверяющего центра ГУЦ в mRoot:
Command |
---|
wget https://structure.mil.ru/download/doc/morf/military/files/ca2020.cer -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin |
Установка списка отозванных сертификатов (CRL), ставим его с того же сайта в mca:
Command |
---|
wget https://structure.mil.ru/download/doc/morf/military/files/crl_20.crl -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin -crl |
Информация | ||||
---|---|---|---|---|
| ||||
В опции -pattern >>> 'rutoken' может быть другим в зависимости от подключенного токена. В случае, если требуется установка сертификата УЦ и CRL на рабочую станцию, не имеющую доступа к сети, следует сохранить сертификаты в файлах, перенести их на рабочую станцию. и в команде установки заменить параметр -stdin заменить на параметр -file с указанием имени файла. Например:
|
Информация | ||
---|---|---|
| ||
1) Имена хранилищ указаны в формате certmgr, у cryptcp похожий формат: -mroot и -uAddressBook 2) Из под учетной записи пользователя ставится в uca, из под учетной записи администратора ставить в mca: 3) В опции -pattern можно указать пустые < ' ' > чтобы установить все сертификаты в uMy. Пример:
|
...
|
...
Копирование контейнера
Для примера скопируем контейнер из локального хранилища в хранилище Рутокена ЕЦП:
4) В случае, если личный сертификат извлечен, следует использовать опцию -file :
5) Хранилища пользователей хранятся в /var/opt/cprocsp/users |
Просмотр
Для просмотра выше установленных сертификатов можно воспользоваться :
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -list |
Удаление
Удаление сертификата из хранилища КриптоПро:
Command |
---|
csptestf -keycopy -contsrc '\\.\HDIMAGE\Контейнер_оригинал' -contdest '\\.\Aktiv Rutoken ECP 00 00\Контейнер_копия'
Запрос на получение сертификата для созданного контейнера
Для создания запроса на получение сертификата для контейнера '\\.\Aktiv Rutoken ECP 00 00\Shuhrat' , воспользуемся командой:
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn "E=user@astralinux.ru,C=RU, CN=Махмадиев Шухрат, SN=Махмадиев" -hashalg 1.2.643.7.1.1.2.2 -nokeygen -both -ku -cont '\\.\Aktiv Rutoken ECP 00 00\Shuhrat' cert.req |
Примечание |
Созданный запрос будет сохранен в файле cert.req. Эти данные нужны для получения сертификата в удостоверяющем центре.
Для примера можно воспользоваться тестовым удостоверяющим центром КриптоПро. Нам нужен пункт " Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64 ". На следующей странице в поле «Сохраненный запрос» вставляем содержимое файла cert.req и нажимаем кнопку «Выдать».
Информация |
---|
Для просмотра содержимого cert.req, воспользуйтесь командой: $ cat cert.req |
После чего следует загрузить сертификат и цепочку сертификатов:
Для установки полученного личного сертификата от тестового УЦ, следует воспользоваться командой:
certmgr -delete |
после чего на экран будет выведен весь список сертификатов и предложение ввести номер удаляемого сертификата.
Или удаление всех сертификатов:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -del -all |
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся в каталоге /var/opt/cprocsp/keys
.
Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
Экспорт сертификата:
Command |
---|
/opt/cprocsp/bin/amd64/certmgr -export -dest cert.cer |
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
Command |
---|
csptest -keyset -enum_cont -verifycontext -fqcn |
И как обычно, связываем сертификат и закрытый ключ:
Command |
---|
certmgr -inst -file 1.cer -cont '\\.\HDIMAGE\container.name' |
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Блок кода |
---|
Can not install certificate
Public keys in certificate and container are not identical |
Проверка цепочки сертификатов
Для примера: чтобы проверить цепочку сертификатов, можно скопировать персональный сертификат в файл:
Command |
---|
/ |
...
opt/cprocsp/bin/amd64/ |
...
cryptcp - |
...
Для записи полученного сертификата в контейнер следует воспользоваться командой:
/opt/cprocsp/bin/amd64/csptest -keys -cont '\\.\Aktiv Rutoken ECP 00 00\Shuhrat' -keyt exchange -impcert имя_полученного_сертификата.cer
...
С помощью опции -certusage можно указать OID назначение сертификата
Назначение сертификата представляется в сертификате объектным идентификатором, присвоенным этой политике, - OID. Если в сертификате указано несколько политик, то это означает, что сертификат соответствует всем этим политикам списка.
...
может использоваться как сертификат серверной аутентификации
...
может использоваться как сертификат клиентской аутентификации
...
может использоваться для электронной подписи кода
...
может использоваться для защиты электронной почты (электронная подпись, шифрование, key agreement)
...
может использоваться для включения значения хэш-функции при создании штампа времени на документы в Службе штампов времени
...
может использоваться для формирования электронной подписи OCSP-запросов
copycert -dn 'CN=Имя_вашего_сертификата' -df /temp/сертификат.cer |
Примечание |
---|
Можно указать другое поле сертификата: CN, E, SN, OGRN, SNILS и тд. |
Блок кода |
---|
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат: АРМ Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочка сертификатов не проверена для следующего сертификата:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Пустовой, Виктор Иванович, "АКЦИОНЕРНОЕ
ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Генеральный директор, Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, 5087746137023, 007726604816,
13407634844, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Ошибка: Цепочка сертификатов не проверена для следующего сертификата (код ошибки 10000):
/dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:396: 0x20000133
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])? С |
Из вывода следует, что у нас отсутствует некий сертификат в цепочке сертификатов. Можно запустить вышеуказанную команду в режиме debug(отладки):
Блок кода |
---|
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn 'CN=Имя_вашего_сертификата' -df /temp/сертификат.cer
...
----------- Error chain -----------
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
1.
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:IS_UNTRUSTED_ROOT
... |
Информация |
---|
CP_PRINT_CHAIN_DETAIL=1 --> включает режим отладки |
В нашем примере, из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:
Command |
---|
/ |
* Объектные идентификаторы (OID) определяют отношения, при осуществлении которых электронный документ, подписанный ЭЦП, будет иметь юридическое значение. OID, зарегистрированные в Удостоверяющем центре, включаются состав следующих расширений сертификата ключа подписи: Key Usage (использование ключа), Extended Key Usage (расширенное использование ключа), Application Policy (политики применения сертификата).
Менеджер сертификатов КриптоПРО в Linux
4 категории сертификатов
Они делятся на четыре категории:
* личные сертификаты (ставятся в хранилище umy, где u = User, my - имя хранилища) - как правило для них есть закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл.
* корневые сертификаты - краеугольнй камень безопасности, так как цепочки доверия строятся от них, то их надо добавлять в хранилища осознанно и внимательно (ставятся в uroot, также администратор может поставить их в mroot, где m = Machine, такие сертификаты будут видны в read only в root-хранилищах всех пользователей)
* промежуточные сертификаты - появляются, когда есть промежуточные УЦ (головной -> промежуточный -> пользовательский). Прямое доверие к ним не требуется (ставятся в uca, также администратор может поставить их в mca). В это же хранилище ставятся CRL-и. Обычно точки получения промежуточных сертификатов и CRL-ей правильно указаны в пользовательских сертификатах, поэтому они автоматом выкачиваются и попадают в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.
* сертификаты партнёров по общению, чтобы проверять их подписи и зашифровывать для них сообщения. Ставятся либо в umy (это беспорядок, но популярный), либо в uAddressBook
Установка
Пример установки личного сертификата, выданного УЦ Министерства Обороны Российской Федерации
Блок кода | ||
---|---|---|
| ||
Установка всех личных сертификатов с Рутокена в uMy : $ sudo /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'rutoken' Установка определенного сертификата с определенного контейнера в uMy: $ /opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\Aktiv Rutoken ECP 00 00\Ivanov' Установка сертификата удостоверяющего центра ГУЦ в mRoot: $ sudo curl https://structure.mil.ru/files/morf/military/files/guc18.cer|/opt/cprocsp/bin/amd64/certmgr -inst -store mRoot Установка промежуточного сертификата МО в mca: $ sudo curl http://structure.mil.ru/download/doc/morf/military/files/CA2018.cer|/opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin Установка списка отвызвов (CRL), ставим его с того же сайта в mca: $ sudo curl http://structure.mil.ru/download/doc/morf/military/files/crl_18.crl|/opt/cprocsp/bin/amd64/certmgr -inst -store mca -stdin -crl |
Информация | ||
---|---|---|
| ||
В опции -pattern >>> 'rutoken' может быть другим в зависимости от подключенного токена. В случае, если рабочая станция не имеет доступа к сети, следует stdin заменить на -file /tmp/ca.cer и -file /tmp/ca.crl |
-store uRoot -file minoboron-root-2018.crt |
Для того, чтобы убедиться в устранении ошибки, можно повторно в режиме отладки запустить команду. При правильно установленной цепочке сертификатов, статус у сертификата будет = CERT_TRUST_NO_ERROR
Блок кода |
---|
....
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:CERT_TRUST_NO_ERROR
...
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000] |
Подписание документа ЭЦП
...
Подпись документа может быть сделана двумя способами:
* attached (присоединенная), когда результирующий файл - это CMS-сообщение, внутрь которого упакованы данные и атрибуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows).
* detached (отсоединенная), когда результирующий файл - это CMS-сообщение БЕЗ исходных данных, но с атрибутами (типа подписи). В этом случае для проверки надо "принести" исходный файл. Разумеется он остаётся неизменным и его можно смотреть cat-ом
Примечание |
---|
Про CMS-сообщения, есть хорошая статья на Хабре |
Подпись файлов (присоединённая)
Command | ||||
---|---|---|---|---|
| ||||
Информация | ||||
| ||||
| csptestf
| absorb -cert -pattern ''
Просмотр
Для просмотра выше установленных сертификатов можно воспользоваться :
certmgr -list
Удаление
Удаление сертификата из хранилища КриптоПро:
certmgr -delete 1 (номер сертификата)
certmgr -del -all (удаление всех сертификатов)
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys
.
Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
| |
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02 Цепочки сертификатов проверены. Подписанное сообщение успешно создано. |
Подпись файлов (отсоединённая)
Command | |
---|---|
|
...
|
...
|
...
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
csptest -keyset -enum_cont -verifycontext -fqcn
И как обычно, связываем сертификат и закрытый ключ:
certmgr -inst -file 1.cer -cont '\\.\HDIMAGE\container.name'
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Can not install certificate
Public keys in certificate and container are not identical
Проверка цепочки сертификатов
Для примера: чтобы проверить цепочку сертификатов, можно скопировать персональный сертификат в файл:
| |
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Будет использован следующий сертификат: Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02 Цепочки сертификатов проверены. Подписанное сообщение успешно создано. |
Проверка подписи в файле
...
Для прикрепленной подписи
Для проверки прикрепленной подписи выполните:
Command | ||
---|---|---|
|
...
|
...
| |
CryptCP |
...
Блок кода |
---|
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
командной строки для подписи и шифрования файлов. Будет использован следующий сертификат: Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВОфайлов. Найдено сертификатов: 4 Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ТЕХНОЛОГИИ""", Москва, 77 г.
RU, шоссе Варшавское д. 26,
с 02.10.2018 14:31:02 по 02.10.2019 14:41: 02 Цепочка сертификатов не проверена для следующего сертификата: Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Пустовой, Виктор Иванович, "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Генеральный директор, Москва, 77 г. Москва, RU, шоссе Варшавское д. 26, 5087746137023, 007726604816, 13407634844, mail@rusbitech.ru Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02 Ошибка: Цепочка сертификатов не проверена для следующего сертификата (код ошибки 10000): /dailybuilds/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:396: 0x20000133 Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])? С |
Из вывода следует, что у нас отсутствует некий сертификат в цепочке сертификатов. Можно запустить вышеуказанную команду в режиме debug(отладки):
Блок кода |
---|
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=Имя_вашего_сертификата -df /temp/сертификат.cer
...
----------- Error chain -----------
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
1.
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:IS_UNTRUSTED_ROOT
... |
Информация |
---|
CP_PRINT_CHAIN_DETAIL=1 --> включает режим отладки |
В нашем примере, из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:
...
Для того, чтобы убедиться в устранении ошибки, можно повторно в режиме отладки запустить команду. При правильно установленной цепочке сертификатов, статус у сертификата будет = CERT_TRUST_NO_ERROR
Блок кода |
---|
....
Subject:'E=uc@mil.ru, OGRN=1037700255284, INN=007704252261, C=RU, S=77 г. Москва, L=Москва, STREET=ул.Знаменка д.19, OU=4 центр (удостоверяющий) войсковой части 31659, O=Министерство обороны Российской Федерации, CN=Министерство обороны Российской Федерации'
Issuer:'E=dit@minsvyaz.ru, C=RU, S=77 Москва, L=г. Москва, STREET="улица Тверская, дом 7", O=Минкомсвязь России, OGRN=1047702026701, INN=007710474375, CN=Минкомсвязь России'
Cert status:CERT_TRUST_NO_ERROR
...
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000] |
Подписание документа ЭЦП
Подпись можно делать двумя способами:
* attached (присоединённая), тогда результирующий файл - это CMS-сообщение, внутрь которого упакованы данные и атрубуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows).
* detached (отсоединённая), тогда результирующий файл - это CMS-сообщение БЕЗ исходных данных, но с атрибутами (типа подписи). В этом случае для проверки надо "принести" исходный файл. Разумеется он остаётся неизменным и его можно смотреть cat-ом
Примечание |
---|
Про CMS-сообщения, есть хорошая статья на Хабре |
...
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -sign -dn'CN=Название_нужного_сертификата' -der zayavlenie.pdf
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочки сертификатов проверены.
Папка './':
raport.pdf... Подпись данных...
Подписанное сообщение успешно создано.
[ErrorCode: 0x00000000] |
...
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -sign -detach -dn 'CN=Название_нужного_сертификата' -pin 12345678 raport.pdf raport.pdf.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочки сертификатов проверены.
Папка './':
raport.pdf... Подпись данных...
Подписанное сообщение успешно создано.
[ErrorCode: 0x00000000] |
Проверка подписи в файле
Для прикрепленной подписи
Для проверки прикрепленной подписи выполните:
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -verify raport.pdf.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Найдено сертификатов: 4
Цепочки сертификатов проверены.
Папка './':
raport.pdf.sig ... Проверка подписи...
Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Подпись проверена.
[ErrorCode: 0x00000000]
|
естественный
использовать ключ -verall - он понимает, что надо найти всех подписавших и ищет в том числе в сообщении:
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -verify -verall -detached /home/shuhrat/smolensk/raport.pdf raport.pdf.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Папка '/home/shuhrat/smolensk/':
/home/shuhrat/smolensk/raport.pdf... Проверка подписи...
Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочки сертификатов проверены.
Папка './':
raport.pdf... Проверка подписи...
Подпись проверена.
[ErrorCode: 0x00000000] |
обучающий
указать в качестве хранилища сертификатов само сообщение (ключ -f):
Блок кода |
---|
/opt/cprocsp/bin/amd64/cryptcp -verify -f raport.pdf.sig -detached raport.pdf raport.pdf.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат:
Субъект:"АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Цепочки сертификатов проверены.
Папка './':
raport.pdf... Проверка подписи...
Автор
подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ""", Москва, 77 г.
Москва, RU, шоссе Варшавское д. 26, mail@rusbitech.ru
Действителен с 02.10.2018 14:31:02 по 02.10.2019 14:41:02
Подпись проверена.
[ErrorCode: 0x00000000] |
Извлечение подписанного файла
Чтобы извлечь файл, необходимо указать его имя в конце команды проверки подписи:
$ cryptcp -verify raport.pdf.sig raport.pdf
Графический интерфейс КриптоПро CSP v. 5.0 (cptools)
В версии КриптоПРО 5 появилась графическая утилита для работы с сертификатами - cptools.
её можно запустить из консоли:
$ cptools
либо
$ /opt/cprocsp/bin/amd64/cptools
Вход в ЕСИА
Для доступа к Госуслугам был использован Рутокен ЭЦП 2, «КриптоПро 4.0 R3», IFCP-plugin 3.0.3
IFCP-plugin позволит Вам авторизоваться и изменять данные на нескольких сайтах:
Список сайтов ЕСИА использующий IFCP-plugin
- Все сайты gosuslugi.ru
- Все сайты is-mis.ru
- Все сайты minsvyaz.ru
- Все сайты minzdrav12.ru
- Все сайты mzkbr.ru
- Все сайты orb.ru
- Все сайты poliklinika45.ru
- Все сайты r-mis.ru
- Все сайты registratura96.ru
- Все сайты rkomi.ru
- Все сайты tambov.gov.ru
- Все сайты tatar.ru
- Все сайты voskhod.ru
Установка и настройка
Для аутентификации через ЕСИА esia.gosuslugi.ru следует:
1) Скачать Рутокен плагин с оффициального сайта: https://www.rutoken.ru/support/download/rutoken-plugin/
2) Скачать IFCP-плагин с сайта ГосУслуг в формате «deb» — файл IFCPlugin-x86_64.deb; https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr
3) Установить плагин:
$ sudo dpkg -i IFCPlugin-x86_64.deb
3) Для правильной работы плагина, следует прописать символические ссылки:
Для браузера Chromium:
sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts
Для браузера Mozilla Firefox:
sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so
Примечание: libcppkcs11.so.4.0.Х может отличаться, в зависимости от версии КриптоПро CSP.
4) Добавить в конфигурационный файл IFCplugin /etc/ifc.cfg :
Блок кода |
---|
{ name = "Актив руТокен ЭЦП";
alias = "ruTokenECP";
type = "pkcs11";
alg = "gost2001";
lib_linux = "librtpkcs11ecp.so";
},
{ name = "CryptoPro CSP";
alias = "cryptoprocsp";
type = "pkcs11";
alg = "gost2001";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
} |
4б) В КриптоПро CSP для корректной работы pkcs11, настройку слотов следует сделать явной:
Для этого в конфигурационный файл /etc/opt/cprocsp/config64.ini следует в разделе PKCS11 добавить:
Блок кода |
---|
# [PKCS11\slot0]
# ProvGOST = "Crypto-Pro GOST R 34.10-2001 KC1 CSP"
# ProvRSA = "Microsoft Strong Cryptographic Provider"
# reader = hdimage
[PKCS11\slot17]
ProvGOST = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"
Firefox = 1
Reader = "" |
5) Для проверки работы плагина, в терминале в режиме live можно просмотреть логи:
tail -f /var/log/ifc/engine_logs/engine.log
6) Для авторизации следует пройти по адресу: esia.gosuslugi.ru и выбрать Вход с помощью электронной подписи
7) Подключив токен, следует нажать кнопку "Готово", после чего система предложит выбрать нужный сертификат ключа проверки ЭЦП:
Вход на сайт главного портала ГосЗакупок
Успешный вход на сайт zakupki.gov.ru гарантирован, при выполнении всех пунктов инструкции по установке сертификатов, который был описан выше.
Перейдя на сайт zakupki.gov.ru, следует кликнуть мышкой по иконке "Личного кабинета" и выбрать необходимый метод входа:
После чего система уведомит Вас, о том что для работы необходимо установить и настроить ПО "КриптоПро CSP":
Нажав кнопку "Продолжить работу с сайтом", система предложит выбрать нужный сертификат:
Выбрать сертификат и ввести pin-код.
Вход на сайт Минфин России
1) Для авторизации на сайте Минфина России, следует перейти на страницу авторизации
2) Скачать и установить корнейвой сертификат УЦ "Минфина России:
$ curl http://ssl.budgetplan.minfin.ru/CAMinfin.cer|/opt/cprocsp/bin/amd64/certmgr -inst -store mRoot
3) Кликнуть по ссылке Вход по сертификату и выбрать нужный сертификат:
4) После чего система попросит Вас ввести пароль:
Удаление КриптоПро CSP
Для того, чтобы удалить ПО КриптоПро CSP, в терминале FLY следует ввести команду:
02 Подпись проверена. |
естественный
использовать ключ -verall, указывающий, что надо найти всех подписавших, в том числе в сообщении:
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Цепочки сертификатов проверены. Подпись проверена. |
обучающий
указать в качестве хранилища сертификатов само сообщение (ключ -f):
Command | ||
---|---|---|
| ||
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2018. Будет использован следующий сертификат: Цепочки сертификатов проверены. Автор подписи: "АКЦИОНЕРНОЕ ОБЩЕСТВО ""НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ РУССКИЕ БАЗОВЫЕ Подпись проверена. |
Извлечение подписанного файла
Чтобы извлечь файл, необходимо указать его имя в конце команды проверки подписи:
Command |
---|
cryptcp -verify raport.pdf.sig raport.pdf |
Графический интерфейс КриптоПро CSP v. 5.0 (cptools)
...
В версии КриптоПро 5 появилась графическая утилита для работы с сертификатами - cptools.
её можно запустить из консоли:
Command |
---|
cptools |
либо
Command |
---|
/opt/cprocsp/bin/amd64/cptools |
Удаление КриптоПро CSP
...
Для того, чтобы удалить ПО КриптоПро CSP, в терминале FLY следует ввести последовательно 3 команды:
Command |
---|
sudo rm -rf /opt/cprocsp |
Отключение сообщений о необходимости перехода на ГОСТ Р 34.10-2012
...
В соответствии с принятым в 2014 году порядком перехода на ГОСТ Р 34.10-2012 до 1 января 2019 года попытка использования ГОСТ Р 34.10-2001 (кроме проверки подписи) на всех выпущенных к настоящему моменту сертифицированных версиях КриптоПро CSP 3.9, 4.0 и КриптоПро JCP 2.0 с 1 января 2019 года вызовет ошибку/предупреждение (в зависимости от продукта и режима работы), которые могут привести к неработоспособности автоматических/автоматизированных систем при использовании ими ключей ГОСТ Р 34.10-2001. В случае если ваша система использует ключи ГОСТ Р 34.10-2001, просим принять во внимание инструкцию.
Для отключения данных предупреждений в КриптоПро CSP, нужно добавить два ключа в конфигурационный файл /etc/opt/cprocsp/config64.ini в существующую секцию Parameters:
Блок кода |
---|
[Parameters]
#Параметрыпровайдера
warning_time_gen_2001=ll:9223372036854775807
warning_time_sign_2001=ll:9223372036854775807 |
Примечание |
---|
На данный момент завершается сертификация обновленной версии КриптоПро CSP 4.0 R4. Для наиболее безболезненного продолжения работы с ГОСТ Р 34.10-2001 в 2019 году мы рекомендуем обновиться до этой версии. В более ранних версиях КриптоПро CSP, а также Клиент HSM 2.0 присутствуют технические ограничения формирования подписи по ГОСТ Р 34.10-2001 после 1 января 2019 года в виде соответствующих предупреждающих окон. |
Полезные ссылки
...
КриптоПро: IFCP plugin для входа ЕСИА (Госуслуги)
КриптоПро CADES ЭЦП Browser plug-in
КриптоПро CADES ЭЦП Browser plug-in
Таблица поддерживаемых устройств Крипто-Про CSP
На официальном сайте СКЗИ КриптоПро в таблице указаны носители, продемонстрировавшие работоспособность с соответствующими версиями КриптоПро CSP:
https://www.cryptopro.ru/products/csp/compare
База знаний КриптоПро
https://support.cryptopro.ru/index.php?/Knowledgebase/List
Обсуждение КриптоПро CSP на форуме astralinux
https://forum.astralinux.ru/threads/419/
Chromium+КриптоПРО
Список ГИС и ЭТП использующих cades-bes plugin
ЭЦП в государственных информационных системах и электронно торговых площадках
Перечень аккредитованных удостоверяющих центров
https://e-trust.gosuslugi.ru/CA/
Диагностический архив для обращения в тех. поддержку
...
По всем вопросам установки СКЗИ в операционную систему, их настройки и обеспечения доступа к электронным ресурсам в сети Интернет можно обращаться в техническую поддержку Astra Linux и КриптоПро.
Для создания диагностического архива, можно воспользоваться следующей командой:
sudo /opt/cprocsp/bin/amd64/curl http://cryptopro.ru/sites/default/files/products/csp/cprodiag 2>/dev/null|sudo perl
В результате должен получится cprodiag_день_месяц_год.tar.gz архив, который следует прислать в техническую поддержку Astra Linux и КриптоПро.
# apt-get remove lsb-cprocsp-base
Полезные ссылки
Таблица поддерживаемых устройств Крипто-Про CSP
На официальном сайте СКЗИ КриптоПро в таблице указаны носители, продемонстрировавшие работоспособность с соответствующими версиями КриптоПро CSP:
https://www.cryptopro.ru/products/csp/compare