- Как я настраивал новые утилиты по работе с электронной подписью в Linux
- Настройка «КриптоПро» CSP
- Настройка работы с Рутокен ЭЦП 2.0
- Получаем тестовый сертификат
- Подпись средствами «КриптоПро CSP»
- Rosa Crypto Tool
- Trusted eSign
- Резюме
- #Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум
- Установка КриптоПро на Alt Linux
- Установка КриптоПро на Alt Linux
Как я настраивал новые утилиты по работе с электронной подписью в 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 недостатка:
- Отсутствие хорошей документации;
- Отсутствие графического интерфейса.
Подписать можно с помощью команды:
Здесь,
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.
Источник
#Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум
Форум для различных тем в большей части ИТ
Установка КриптоПро на Alt Linux
Установка КриптоПро на Alt Linux
Сообщение Артём Мамзиков » Пн сен 02, 2019 14:15 #1
Что делает данный скрипт
Обновление firefox до версии 52.9
Установка КриптоПРО 4.0.9963 включая все требуемое для криптопро (поддержки карт Рутокен S и Рутокен ЭЦП).
Установка базовых пакетов КриптоПро
Установка пакетов поддержки токенов
!Перезапускаем терминал возможно нужно перезапустить вручную
!Активируем КриптоПРО ввести ключ в кавычки
Запуск сервиса pcscd
Ставим плагин КриптоПро ЭЦП Browser plug-in Cades
В Мозилле в настройках дополнений («Главное меню» – «Инструменты» – «Дополнения») во вкладке Плагины у CryptoPro CAdEs plugin выбрать опцию «Всегда включать».
Ставим плагин IFCPlugin 3.0.6.0 для госуслуг
Правим ifc.cfg
pluma /etc/ifc.cfg
и добавляем в него перед последней скобкой
, < name = "CryptoPro CSP5";
alias = «cprocsp5»;
type = «pkcs11»;
alg = «gost2001»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>,
< name = "CryptoPro CSP5 2012 256";
alias = «cprocsp5_2012_256»;
type = «pkcs11»;
alg = «gost2012_256»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>,
< name = "CryptoPro CSP5 2012 512";
alias = «cprocsp5_2012_512»;
type = «pkcs11»;
alg = «gost2012_512»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>
Добавим сайты в список доверенных
Для этого в адрес строке браузера прописать полный путь к данному файлу — /etc/opt/cprocsp/trusted_sites.html
Добавить адреса (по ip-адресу (http://192.168.2ХХ.Х:8080/) и по имени -сервера (https://www.gosuslugi.ru/)) в доверенные (ввести адрес и нажать кнопку +, затем «Сохранить»):
Данный пункт нужно выполнить вручную в скрипте он пропускается.
Установка личных сертификатов
!Скопировать сертификат в папку
!Узнать имя токена командой csptest -keyset -enum_cont -fqcn -verifyc -uniq
!Установка сертификата выполняется от обычного пользователя следующей командой
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c’ -file /home/quest/cart/G.cer -pin 12345678
где \\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c – уникальное имя рутокена
/home/quest/cart/G.cer – полный путь к файлу сертификата. Если сертификата нет не указываем путь , сертификат возьмется из контейнера
12345678 – пароль на рутокен
Сообщение терминала [ErrorCode: 0x00000000] свидетельствует о том, что установка сертификата прошла успешно (ошибок нет)
Установка всех корневых и промежуточных сертификатов и СОС (под root) командой
certmgr -inst -store uRoot -file /home/guest/cert/Root.cer
где /home/guest/cert/Root.cer — путь к файлу корневого сертификата
Установка сертификата промежуточный центр сертификации:
certmgr -inst -store uCA -file /home/guest/cert/CA.cer
где /home/guest/cert/CA.cer – путь к файлу сертификата промежуточного центра сертификации
Установка списка отозванных сертификатов:
certmgr -inst -store uCA -file /home/guest/cert/uc_tensor-2017.crl –crl
где /home/guest/cert/uc_tensor-2017.crl – пусть к файлу списка отозванных сертификатов
Просмотр установленных личных сертификатов крманду запустить от обычного пользователя certmgr -list -store uMy
Проверить работоспособность плагина на демо-странице официального сайта КриптоПро:
https://www.cryptopro.ru/sites/default/ . imple.html
Все операции делаем из под терминала юзера под пользователем (не по SSH) если нужно от root su можно из ssh
Проверка лицензии на ПО Крипто Про
cpconfig -license -view
Установка УЦ Корневой
certmgr -inst -file certne_ucw.cer -store uRoot
certmgr -inst -all -file cert.p7b -store uRoot
Корневые сертификаты для всех пользователей ставятся в хранилище машины — т.е. с параметром -store mRoot.
Например: # certmgr -inst -store mRoot -file /tmp/cert.cer
Установка промежуточных сертификатов
certmgr -inst -store uCa -file /home/guset/sred.cer — промежуточный
certmgr -inst -store uCa -file /home/guset/sos.crl -crl -отозвонный
Установка Личного Сертификата с рутокена
csptest -keyset -enum_cont -fqcn -verifyc -uniq — просмотр носителей ключей
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c’
или
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c’ -file /home/quest/cart/G.cer -pin 12345678
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c’ -pin 12345678
Проверки цепочки она же выгрузка сертификата
cryptcp -copycert -dn «CN=Иванов» -df tt.cer — по фамилии выгрузка сертификата в текущую директорию
Установка сертификата другие пользователи
certmgr -inst -store uAddressBook -file /home/guset/иванов.cer
Установка отозванного сертификата
certmgr -inst -store uCA -file /home/guest/cert/uc_tensor-2017.crl –crl
Добавление сертификата, без привязки к ключам (только проверка ЭЦП):
certmgr -inst -file cert.cer
Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище uMy:
certmgr -inst -file cert.cer -store uMy -cont ‘\\.\HDIMAGE\test’
Запись сертификата клиента в контейнер:
cryptcp -instcert -provtype 80 -cont ‘\\.\HDIMAGE\test’ -ku -askpin cert.cer
Проверки цепочки
cryptcp -copycert -dn «CN=Иванов» -df tt.cer — по фамилии выгрузка сертификата в текущую директорию
Просмотр установленных сертификатов
certmgr -list -store uRoot — Корневых
certmgr -list -store uCa — Промежуточных
certmgr -list -store uMy — Личных
certmgr -list -store uAddressBook — Другие пользователи
Удаление сертификатов
certmgr -delete -dn «SN=Фамилия» — Удаление из личных сертификатов
certmgr -delete -store uCa -dn «SN=Фамилия» из других пользователей
Удалить все сертификаты из хранилища КриптоПро:
certmgr -delete -all
certmgr -delete -store uRoot
certmgr -delete -dn «INN=0000000000000» -store uRoot -удаление доверенных
Удалить все сертификаты установленные в хранилище машины: от su
certmgr -delete -store mRoot
Основные опции:
uMy — сертификат попадет в пользовательское хранилище
-provtype — указать тип криптопровайдера (по умолчанию 75);
-provname — указать имя криптопровайдера;
-cont — задать имя ключевого контейнера (по умолчанию выбор из списка);
-ku — использовать контейнер пользователя (CURRENT_USER);
-km — использовать контейнер компьютера (LOCAL_MACHINE);
-dm — установка в хранилище компьютера (LOCAL_MACHINE);
-du — установка в хранилище пользователя (CURRENT_USER);
AddressBook — Другие пользователи
-askpin — запросить пароль ключевого контейнера из с консоли;
— имя файла, содержащего сертификат.
Авторизуемся в терминале под пользователем root:
su
Вводим пароль суперпользователя.
Переходим в каталог, в который распакован архив. В нашем случае это «linux-amd64».
cd linux-amd64
Перед началом работы с рутокеном необходимо запустить службу pcscd командой (под root):
service pcscd start
КриптоПро установлена. Перезапускаем терминал. Подключаем рутокен с ЭЦП, проверяем просмотр доступных контейнеров:
csptest -keyset -enum_cont -fqcn -verifyc -uniq
Должен отобразить контейнер с рутокена (уникальное имя контейнера выделено):
Устанавливаем сертификат. Предварительно скопировать сертификат на компьютер. Под обычным пользователем!
Берем уникальное название контейнера после черты | и вставляем в следующую команду (импорт сертификата с токена в личное хранилище ТЕКУЩЕГО пользователя):
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c’ -file /home/quest/cart/G.cer -pin 12345678
где
\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c – уникальное имя рутокена (см. п. 12.8)
/home/quest/cart/G.cer – полный путь к файлу сертификата.
12345678 – пароль на рутокен
Вводим пароль суперпользователя.
Далее выполняем следующие команды:
Установка корневой сертификат:
certmgr -inst -store uRoot -file /home/guest/cert/Root.cer
где
/home/guest/cert/Root.cer — путь к файлу корневого сертификата
Для просмотра списка установленных личных сертификатов выполнить команду. Данное действие выполняется под обычным пользователем!
certmgr -list -store uMy
Установить расширение КриптоПро ЭЦП Browser plug-in
Скачиваем архив с расширением с официального сайта КриптоПро:
https://www.cryptopro.ru/products/cades/plugin
https://www.cryptopro.ru/sites/default/ . latest.xpi
файл для установки вручную firefox_cryptopro_extension_latest.xpi
Если это дополнение не может быть установлено так как оно по видимому повреждено, проблемма в проверке сертификатов расширения сделать следующее в адресную строку ввести
about:config принять риск
найти сроку xpinstall.signatures.required
сделать параметр false
пробуем снова поставить расширение должно поставится
Распаковываем скачанный на предыдущем шаге архив ( cades_linux_amd64.tar.gz):
tar –xvzf linux-amd64-4.0
Вводим пароль суперпользователя.
Устанавливаем следующие два пакета из распакованного архива «cprocsp-pki-2.0.0-amd64-cades.rpm и «cprocsp-pki-2.0.0-amd64-plugin.rpm»:
apt-get install ./cprocsp-pki-2.0.0-amd64-cades.rpm ./cprocsp-pki-2.0.0-amd64-plugin.rpm
где ./cprocsp-pki-2.0.0-amd64-cades.rpm и ./cprocsp-pki-2.0.0-amd64-plugin.rpm – пути к файлам устанавливаемых пакетов.
Плагин установлен.
Если плагин CryptoPro CAdES NPAPI Browser Plug-in не отобразился в разделе плагины то выполнить команды
cp /opt/cprocsp/lib/amd64/libcades.so.2.0.0 /usr/lib/mozilla/plugins/libcades.so
cp /opt/cprocsp/lib/amd64/libcppcades.so.2.0.0 /usr/lib/mozilla/plugins/libcppcades.so
cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 /usr/lib/mozilla/plugins/libnpcades.so
cp /opt/cprocsp/lib/amd64/libocspcli.so.2.0.0 /usr/lib/mozilla/plugins/libocspcli.so
cp /opt/cprocsp/lib/amd64/libxmlsec-mscrypto.so.2.0.0 /usr/lib/mozilla/plugins/libxmlsec-mscrypto.so
cp /opt/cprocsp/lib/amd64/libxmlsec.so.2.0.0 /usr/lib/mozilla/plugins/libxmlsec.so
В Мозилле в настройках дополнений ( «Главное меню» – «Инструменты» – «Дополнения») во вкладке Плагины у CryptoPro CAdEs plugin выбрать опцию «Всегда включать».
Установить расширение CryptoPro Extension for CAdEs Browser Plugin для браузера Mozilla Firefox.
Для этого на странице плагина официального сайта КриптоПро (https://www.cryptopro.ru/products/cades/plugin) перейти по ссылке «Расширение для браузера»:
Начнется процесс установки расширения для браузера.
В настройках дополнений браузера ( «Главное меню» – «Инструменты» – «Дополнения») во вкладке Расширения у CryptoPro Extension for CAdEs Browser Plugin выбрать опцию «Всегда включать».
Открыть в браузере следующий файл /etc/opt/cprocsp/trusted_sites.html. Для этого в адрес строке браузера прописать полный путь к данному файлу — /etc/opt/cprocsp/trusted_sites.html
Добавить адреса например госуслуг (по ip-адресу ( http://192.168.ХХХ.ХХХ:8080) и по имени ( https://www.gosuslugi.ru)) в доверенные (ввести адрес и нажать кнопку +, затем «Сохранить»):
Проверить работоспособность плагина на демо-странице официального сайта КриптоПро:
https://www.cryptopro.ru/sites/default/ . imple.html
Если плагин определился а ЭП ЭЦП нет долго думал но написал что нет ЭЦП отсутствуют, так же если вы подписываете файл а он долго думает
быстрее всего не хватает Корневых доверенных Сертификатов или Промежуточных сертификатов в цепочке сертификации ( в данном случае плагин работать не будет CAdEs)
Команды выполнятся от пользователя
Для проверки можно скопировать персональный сертификат в файл:
cryptcp -copycert -dn «SN=Иванов» -df tt.cer
если все хорошо
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]
Из вывода следует, что все сертификаты есть в цепочке сертификатов.
Если же команда возвращает «Цепочка сертификатов не проверена для следующего сертификата:» или другую ошибку:
$ cryptcp -copycert -dn E=user@test.ru -df personal.cer
не удалось проверить цепочку сертификатов
Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?
(нажмите C и Enter, чтобы выйти).
Можно запустить вышеуказанную команду с отладкой цепочки:
CP_PRINT_CHAIN_DETAIL=1 cryptcp -copycert -dn E=user@test.ru -df personal.cer
———— Error chain ————
Chain status:IS_UNTRUSTED_ROOT
Revocation reason:unspecified
Subject:’E=ca@skbkontur.ru, C=ru, L=:0B5@8=1C@3, O= �$ �!▒ ▒>=BC@�, CN=uc skb kontur (root)’
Cert status:IS_UNTRUSTED_ROOT
.
То есть нам надо установить сертификат УЦ с CN=uc skb kontur (root):
$ certmgr -inst -store uRoot -file kontur-root-2015.crt
После этого:
cryptcp -copycert -dn E=user@test.ru -df personal.cer
Certificate chains are checked.
Certificate’s been copied.
[ReturnCode: 0]
Всё в порядке и сертификат виден в плагине Cades.
Установка Корневого доверенного сертификата
certmgr -inst -store uRoot -file /home/user/CryptoPro/Root1.cer
Установка промежуточного сертификата
certmgr -inst -store uCA -file /home/user/CryptoPro/Ser1.cer
Просмотр
certmgr -list -store uRoot
certmgr -list -store uMy
Вход в ЕСИА
Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется установить плагин IFCPlugin (работает только с версией КриптоПро CSP 4.0R4).
На данные момент корректно ЕСИА работает только с плагином версии 3.0.0.0
Скачать актуальную версию плагина можно на этой странице https://ds-plugin.gosuslugi.ru/plugin/upload/Index.spr
Авторизуемся в терминале под пользователем root:
su
Вводим пароль суперпользователя.
Устанавливаем скачанный выше пакет rpm.
apt-get install ./ IFCPlugin-x86_64.rpm
где ./ IFCPlugin-x86_64.rpm – полный путь до файла установки плагина.
ВНИМАНИЕ! При наличии хотя бы одного контейнера КриптоПро с ГОСТ-2012 плагин ЕСИА перестаёт работать.
1. Удаляем Firefox который стоит в системе
apt-get remove —purge firefox -y
2. Ставим Firefox 52.9
3. КриптоПРО 4.0.9963
apt-get install cryptopro-preinstall -y
cd «/mnt/docs/Переход/Софт/CryptoPro/linux-amd64/»
apt-get install ./cprocsp-curl-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-base-4.0.9963-5.noarch.rpm ./lsb-cprocsp-capilite-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-kc1-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-rdr-64-4.0.9963-5.x86_64.rpm
apt-get install ./cprocsp-rdr-gui-gtk-64-4.0.9963-5.x86_64.rpm ./cprocsp-rdr-rutoken-64-4.0.9963-5.x86_64.rpm ./cprocsp-rdr-pcsc-64-4.0.9963-5.x86_64.rpm ./lsb-cprocsp-pkcs11-64-4.0.9963-5.x86_64.rpm pcsc-lite-rutokens pcsc-lite-ccid
4. Перезапускаем терминал
5. Активируем КриптоПРО
cpconfig -license -set «»
6. Запускаем сервис
service pcscd start
7. Подключаем токен и ставим ключ в систему
csptest -keyset -enum_cont -fqcn -verifyc -uniq
certmgr -inst -cont ‘\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37857434\0A00\8F0D’ -file /mnt/docs/certs/lua-2019-2020.cer -store uMy -pin 12345678
certmgr -list -store uMy
Проверяем чтобы PrivateKey Link = Yes
8. Ставим корневые серты под юзером!
9. Ставим Cades Plugin
cd «/mnt/docs/Переход/Софт/cades_linux_amd64»
apt-get install ./cprocsp-pki-2.0.0-amd64-cades.rpm ./cprocsp-pki-2.0.0-amd64-plugin.rpm
10. Ставим IFCPlugin 3.0.6.0
cd «/mnt/docs/Переход/Софт/IFCPlugin 3.0.7.0»
apt-get install IFCPlugin-x86_64.rpm
11. Правим ifc.cfg
и добавляем в него перед последней скобкой
,
< name = "CryptoPro CSP5";
alias = «cprocsp5»;
type = «pkcs11»;
alg = «gost2001»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>,
< name = "CryptoPro CSP5 2012 256";
alias = «cprocsp5_2012_256»;
type = «pkcs11»;
alg = «gost2012_256»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>,
< name = "CryptoPro CSP5 2012 512";
alias = «cprocsp5_2012_512»;
type = «pkcs11»;
alg = «gost2012_512»;
model = «CPPKCS 3»;
lib_linux = «/opt/cprocsp/lib/amd64/libcppkcs11.so»;
>
$ certmgr -list -store uRoot
-bash: certmgr: команда не найдена
# find . -name certmgr не найдено
# csptest -keyset -enum_cont -fqcn -verifyc -uniq
bash: csptest: команда не найдена
Сперва я думал слетели переменные но после того как я проверил папку с файлом
/opt/cprocsp/bin/amd64/там оказались такие файлы
certmgr.corrupted — certmgr поврежден (сперва было подумал что слетела лицензия)
Проверил по всему пк с корня find . -name corrupted
нашел поврежденные файлы в 3х папках
Далее нужно было переустанавливать крипто про но я сделал проще пока вроде все норм подтянул 3 папки с другова компа и закинул где сломалось вроде все норм работает
find . -name *.corrupted посмотрел что вылетело /opt/cprocsp/ 3 папки lib bin sbin
Данная проблема возникла когда на alt linux 7 я сделал крон на автозапуск демона он видимо запустил задачу проверка диска.
Диск я проверил smartmontools критических значений не обнаружил оставил пока все так.
Источник