Проверка цепочки сертификатов эцп на linux







Криптопровайдер КриптоПро CSP предназначен для:


https://www.cryptopro.ru/products/csp


Для ОС AstraLinux следует загрузить пакет:


К моменту написания статьи, была использована сертифицированная версия ПО «КриптоПро» «4.0 R3».


1) Загрузка архива с сертифицированной версией ПО «КриптоПро» «4.0 R3»:


2) Открыть «Терминал Fly» (alt+T)


tar -zxf linux-amd64_deb.tgz


cd /linux-amd64_deb


sudo ./install_gui.sh


Описание необходимых пакетов КриптоПро


dpkg -l | grep cprocsp


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


Установка дополнительных пакетов с модулем поддержки для токена


библиотека libccid, libgost-astra , пакеты pcscd, libpcsclite1


Рутокен: https://www.rutoken.ru/support/download/rutoken-for-cp/


После установки пакетов с модулем поддержки токена следует перезагрузить службу pcscd:


Проверить срок истечения лицензии можно командой:



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


a)Установить пакет alien, необходимый для конвертации rpm-пакетов в deb-формат


б) Загрузить архив cades_linux_amd64.zip


в) Распаковать архив cades_linux_amd64.zip перейти в каталог с распакованными файлами и выполнить команды:


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


dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb cprocsp-pki-plugin_2.0.0-2_amd64.deb



  • Браузер Chrome







д) Тестовый сайт предложит Вам подписать документ и выбрать нужный Вам сертификат.


Открываем эмулятор терминала и выполняем от root`а:


Перезапускаем браузер.


Альтернативный метод получения тестового сертификата


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




6) Тестовый УЦ КриптоПро уведомит нас о том, что сертификат выдан


7) Пройти по ссылке и установить сертификат, введя пароль контейнера.



Для запроса, получения и установки сертификата с тестового УЦ «КриптоПро» — можно, воспользоваться одной командой:cryptcp -creatcert -rdn ’E=email@astralinux.ru, CN=имя_сертификата’ -cont ’\.HDIMAGEимя_контейнера’ -hashalg 1.2.643.7.1.1.2.2


Чтобы узнать модель подключенного токена, следует ввести команду:


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


Проверить наличие носителей с контейнерами можно с помощью команды:/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum -unique


В этом случае будет выведен список носителей с контейнерами в следующем формате:


Где \.HDIMAGE — локальный носитель, \.HDIMAGETestCont123 — название контейнера, \.Aktiv Rutoken ECP 00 00 — название носителя (токена).


Создание локального носителя


sudo /opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add HDIMAGE store


Для создания контейнера в носителе HDIMAGE следует воспользоваться командой:


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


В 5-ой версии КриптоПРО CSP v.5.0, для создания контейнера, имя носителя можно не указывать, а выбрать в интерактивном gtk-диалоге:




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


Проверка работы контейнера


/opt/cprocsp/bin/amd64/csptestf -keyset -container ИМЯ -check


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


Копирование контейнера


csptestf -keycopy -contsrc ’\.HDIMAGEКонтейнер_оригинал’ -contdest ’\.Aktiv Rutoken ECP 00 00Контейнер_копия’


Для создания запроса на получение сертификата для контейнера ’\.Aktiv Rutoken ECP 00 00Shuhrat’ , воспользуемся командой:


Для примера можно воспользоваться тестовым удостоверяющим центром КриптоПро. Нам нужен пункт « Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64 «. На следующей странице в поле «Сохраненный запрос» вставляем содержимое файла cert.req и нажимаем кнопку «Выдать».



/opt/cprocsp/bin/amd64/certmgr -inst -file имя_полученного_сертификата.cer -cont ’\.Aktiv Rutoken ECP 00 00Shuhrat’


/opt/cprocsp/bin/amd64/csptest -keys -cont ’\.Aktiv Rutoken ECP 00 00Shuhrat’ -keyt exchange -impcert имя_полученного_сертификата.cer


4 категории сертификатов


* личные сертификаты (ставятся в хранилище umy, где u = User, my — имя хранилища) — как правило для них есть закрытый ключ (и они требуют особой установки, чтобы в хранилище появилась ссылка на этот закрытый ключ). В результате с их использованием можно, например, подписать файл.





* промежуточные сертификаты — появляются, когда есть промежуточные УЦ (головной -> промежуточный -> пользовательский). Прямое доверие к ним не требуется (ставятся в uca, также администратор может поставить их в mca). В это же хранилище ставятся CRL-и. Обычно точки получения промежуточных сертификатов и CRL-ей правильно указаны в пользовательских сертификатах, поэтому они автоматом выкачиваются и попадают в хранилище ucache. В общем про них можно ничего особо не знать и ничего не делать.


Установка


Просмотр


certmgr -list


Удаление


certmgr -delete 1 (номер сертификата)


Экспорт сертификатов на другую машину


Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.


/opt/cprocsp/bin/amd64/certmgr -export -dest cert.cer


И как обычно, связываем сертификат и закрытый ключ:


Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:


Проверка цепочки сертификатов


/opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=Имя_вашего_сертификата -df /temp/сертификат.cer


В нашем примере, из логов можно сделать вывод, что нам надо установить сертификат УЦ МО с CN=Министерство обороны Российской Федерации:


Для того, чтобы убедиться в устранении ошибки, можно повторно в режиме отладки запустить команду. При правильно установленной цепочке сертификатов, статус у сертификата будет = CERT_TRUST_NO_ERROR


* attached (присоединённая), тогда результирующий файл — это CMS-сообщение, внутрь которого упакованы данные и атрубуты (типа подписи). Формат сообщения соответствует международному стандарту, поэтому извлекать данные оттуда можно любыми утилитами, типа cryptcp / csptest / openssl / certutil (на windows).


Подпись файлов (присоединённая)


Проверка подписи в файле


Для проверки прикрепленной подписи выполните:


использовать ключ -verall — он понимает, что надо найти всех подписавших и ищет в том числе в сообщении:


указать в качестве хранилища сертификатов само сообщение (ключ -f):


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



её можно запустить из консоли:


либо


Для доступа к Госуслугам был использован Рутокен ЭЦП 2, «КриптоПро 4.0 R3», IFCP-plugin 3.0.3


Список сайтов ЕСИА использующий IFCP-plugin


Установка и настройка


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) Установить плагин:



Для браузера Chromium:sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts


sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so


4) Добавить в конфигурационный файл IFCplugin /etc/ifc.cfg :


Для этого в конфигурационный файл /etc/opt/cprocsp/config64.ini следует в разделе PKCS11 добавить:


tail -f /var/log/ifc/engine_logs/engine.log





Перейдя на сайт zakupki.gov.ru, следует кликнуть мышкой по иконке «Личного кабинета» и выбрать необходимый метод входа:


После чего система уведомит Вас, о том что для работы необходимо установить и настроить ПО «КриптоПро CSP»:


Нажав кнопку «Продолжить работу с сайтом», система предложит выбрать нужный сертификат:


Выбрать сертификат и ввести pin-код.


1) Для авторизации на сайте Минфина России, следует перейти на страницу авторизации


2) Скачать и установить корнейвой сертификат УЦ «Минфина России:


3) Кликнуть по ссылке Вход по сертификату и выбрать нужный сертификат:


4) После чего система попросит Вас ввести пароль:


В соответствии с принятым в 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, просим принять во внимание инструкцию.


[Parameters]


warning_time_gen_2001=ll:9223372036854775807


Таблица поддерживаемых устройств Крипто-Про CSP


https://www.cryptopro.ru/products/csp/compare


https://support.cryptopro.ru/index.php?/Knowledgebase/List


https://forum.astralinux.ru/threads/419/


https://www.cryptopro.ru/news/2018/12/zashchishchennyi-brauzer-dlya-gosudarstvennykh-elektronnykh-ploshchadok-teper-i-na-linu


Диагностический архив для обращения в тех. поддержку


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


В результате должен получится cprodiag_день_месяц_год.tar.gz архив, который следует прислать в техническую поддержку Astra Linux и КриптоПро.

Источник

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Don`t copy text!
Прокрутить вверх