Установка эцп на альт линукс
Работа с электронной подписью (ЭЦП) в Linux (Debian / Ubuntu)
Электронно-цифровая подпись (ЭЦП) давно уже стала неотъемлемой частью нашей жизни, позволяя удаленно взаимодействовать с органами власти, сдавать отчетность, участвовать в системах электронного документооборота (ЭДО). Все это стало особенно актуально в последнее время, когда сложная эпидемиологическая обстановка внесла серьезные коррективы в рабочий процесс, сделав упор на дистанционные технологии. Особый интерес работа с ЭЦП вызывает у пользователей Linux, действительно, данная тема пока не нашла широкого отражения, поэтому постараемся восполнить этот пробел.
Начнем с того, что в техническом плане представляет электронно-цифровая подпись, а говоря об ЭДО и взаимодействии с государственными органами под этим термином мы будем иметь ввиду усиленную квалифицированную электронную подпись, которая выдается аккредитованным удостоверяющим центром и приравнивается к "живой" подписи.
ЭЦП состоит из двух частей: закрытого и открытого ключей. Закрытый ключ (часто просто "ключ") является секретным, его утрата ведет к полной компрометации подписи, так как завладевшее им лицо имеет возможность подписывать любые документы от имени владельца ЭЦП. Открытый ключ, вместе с некоторыми сведениями о владельце ключа оформляется в виде сертификата. Он не является секретным и используется для аутентификации владельца ЭЦП на многих ресурсах, а также для проверки подписи, сделанной закрытым ключом.
Среди обычных пользователей ЭЦП называется "сертификатом", но если вы являетесь специалистом, то должны различать и понимать разницу между составляющими частями ЭЦП и не путать закрытый и открытый ключ (сертификат). Сертификаты хранятся в системном хранилище ОС, а вот для хранения закрытых ключей есть варианты:
- Токен - аппаратное устройство для хранения ключей, чаще всего без возможности их экспорта, является наиболее безопасным способом хранения, угрозу представляет только физическая утеря ключа.
- Съемный носитель - обычно флеш-карта на которой расположен контейнер закрытого ключа, менее безопасный способ, так как ключ может быть легко скопирован физически.
- Реестр или жесткий диск - самый небезопасный способ, но в тоже время самый удобный, особенно когда нужно работать с большим количеством ЭЦП, вполне приемлем на доверенных устройствах, но требует более серьезного подхода в разграничении прав доступа.
При этом нельзя сказать, что последние два способа представляют угрозу безопасности, при должном подходе по разграничению доступа и установке нестандартного пароля на контейнер закрытого ключа они также вполне безопасны.
Второй вопрос - браузеры. Так повелось, что основная разработка средств электронной подписи ориентируется на браузеры на основе WebKit, поэтому мы рекомендуем использовать для работы Google Chrome, для используемого по умолчанию Firefox мы так и не смогли нормально настроить работу с отечественной криптографией. Также можно использовать Яндекс.Браузер или Спутник, хотя последний может нестабильно работать в последних выпусках Linux, например, в Xubuntu 20.04.
На этом, пожалуй, закончим вводную часть и перейдем к практическим примерам.
Госуслуги
Основной по своей значимости портал для взаимодействия с государственными органами. Для входа на Госуслуги в Linux можно использовать только аппаратные ключи (токены), криптопровайдеры не поддерживаются. Поэтому если вам нужны только Госуслуги, то Крипто-Про вам устанавливать не нужно. Для работы с Госуслугами вам потребуется IFCPlugin, который можно загрузить со следующей страницы, на нее же вы будете перенаправлены автоматически при попытке входа с помощью электронной подписи без установленного плагина.
Система корректно распознает текущую ОС и автоматически предлагает к скачиванию нужную версию плагина в виде DEB-пакета. Но не будем спешить с его установкой, для работы с токенами нам потребуется установить дополнительные библиотеки, в частности pcscd:
Если вы используете токены, то мы рекомендуем установить данную библиотеку вне зависимости от того, будете ли вы использовать Госуслуги или нет, она вам потребуется для работы с аппаратным ключом.
Затем откройте терминал в директории со скачанным плагином, повысьте права до суперпользователя и установите его командой:
Перезапустите браузер и снова попробуйте войти на портал Госуслуг, в этот раз все должно увенчаться успехом.
Установка Крипто-Про
Крипто-Про самый распространенный и популярный отечественный криптопровайдер. Это коммерческое ПО и для установки вам понадобится серийный номер, без него будет активирована триальная версия на три месяца. Обычно лицензия на Крипто-Про выдается вместе с ЭЦП, либо использующим его ПО (например, система сдачи отчетности), поэтому если вы затрудняетесь найти лицензию, то обратитесь к своему поставщику ЭЦП.
Теперь пару слов о ключах, если они располагаются на токене или флеш-карте, то ничего делать не надо, а вот если они находятся в реестре, то их нужно скопировать на переносной носитель (флешку). Для этого откройте Крипто-Про и перейдите на вкладку Сервис, в разделе Контейнер закрытого ключа нажмите Скопировать и в открывшемся окне выберите нужный контейнер из реестра.
Затем укажите новый носитель для закрытого ключа, в этом качестве можно использовать любую флеш-карту, в т.ч. с данными, также рекомендуем установить на контейнер ключа надежный пароль.
На этом подготовительные моменты закончились и перейдем непосредственно к установке Крипто-Про в среде Linux. Прежде всего нам потребуется получить дистрибутив, это не такая простая задача, как кажется на первый взгляд, проще всего это сделать с главной страницы официального сайта, нажав на ссылку в правой колонке.
В этом случае вам не потребуется полноценной регистрации, достаточно будет заполнить несколько полей, сайт корректно определяет ОС клиента и сразу предлагает скачать нужный пакет, обратите внимание, что Крипто-Про для Linux поддерживает только 64-разрядные системы.
Распакуйте полученный архив в любое удобное место и перейдите в терминал, этом можно сделать, кликнув правой кнопкой мыши в любом свободном месте и выбрав Открыть терминал.
И запустим установку Крипто-Про командой:
Продукт имеет текстовый установщик, который последовательно проведет вас по всем этапам. Набор установки по умолчанию следует дополнить пунктом Поддержка токенов и смарт-карт, также у вас должна быть установлена библиотека pcscd.
При отсутствии лицензионного ключа этап его ввода можно пропустить, впоследствии, для активации лицензии потребуется запустить программу установки еще раз.
После успешной установки запустите графическое приложение Инструменты КриптоПро, при старте оно автоматически находит и отображает все доступные контейнеры, и вы сразу можете выполнить необходимые действия, например, установить сертификат в системное хранилище ОС.
Альтернативой хранения ключей на флешке может быть размещение контейнеров на жестком диске, для этого нажмите Скопировать контейнер и выберите в качестве носителя Directory:
На этом установку Крипто-Про можно считать законченной.
Установка КриптоПро ЭЦП Browser plug-in
Но одного криптопровайдера нам будет недостаточно, для работы с ЭЦП на различных государственных порталах нам потребуется плагин для поддержки со стороны браузера, его можно скачать на следующей странице. Распакуем полученный архив в удобное место, он содержит по три пакета для DEB и RPM-систем. Для установки выполним в терминале с правами суперпользователя:
Затем перезапустим браузер и проверим работу плагина. Для этого нажмите на значок плагина на панели браузера и выберите в выпадающем меню Проверить работу плагина, если все сделано правильно вы увидите следующую страницу:
Теперь вы можете использовать Крипто-Про для входа по ЭЦП на сайты, поддерживающие работу с данным криптопровадером.
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро Fox
Архив с программным обеспечением (КриптоПро CSP 4.0 R4 — сертифицированная версия, КриптоПро CSP 5.0 — несертифицированная) можно загрузить после предварительной регистрации:
1. Установите пакет cryptopro-preinstall :
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП). Примечание: Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat , opensc , pcsc-lite , pcsc-lite-rutokens , pcsc-lite-ccid , newt52 .
2. Распакуйте архив, скачанный с официального сайта КриптоПро:
Таблица 1. Описание необходимых пакетов КриптоПро.
Пакет | Описание |
---|---|
Базовые пакеты: | |
cprocsp-curl | Библиотека libcurl с реализацией шифрования по ГОСТ |
lsb-cprocsp-base | Основной пакет КриптоПро CSP |
lsb-cprocsp-capilite | Интерфейс CAPILite и утилиты |
lsb-cprocsp-kc1 | Провайдер криптографической службы KC1 |
lsb-cprocsp-kc2 | Провайдер криптографической службы KC2 (требует наличия аппаратного датчика случайных чисел или гаммы) |
lsb-cprocsp-rdr | Поддержка ридеров и RNG |
Дополнительные пакеты: | |
cprocsp-cptools-gtk | Инструменты КриптоПро - кроссплатформенный графический интерфейс |
cprocsp-rdr-gui-gtk | Графический интерфейс для диалоговых операций |
cprocsp-rdr-rutoken | Поддержка карт Рутокен |
cprocsp-rdr-jacarta | Поддержка карт JaCarta |
cprocsp-rdr-pcsc | Компоненты PC/SC для ридеров КриптоПро CSP |
lsb-cprocsp-pkcs11 | Поддержка PKCS11 |
ifd-rutokens | Конфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория) |
3. Установите пакеты КриптоПро:
-
под правами пользователя root перейдите в папку с распакованным архивом:
- установите пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
- установите пакет для поддержки токенов (JaCarta):
- Для установки сертификатов Главного удостоверяющего центра:
Также можно выполнить установку КриптоПро, запустив ./install_gui.sh в распакованном каталоге и выбрав необходимые модули:
Примечания:
- Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
- Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 ( libopenmotif3 ) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5 .
- Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat .
- В версии 4.0.0-alt5 пакета cryptopro-preinstall добавлены подпакеты:
- cryptopro-preinstall-base для установки с cprocsp-compat-altlinux , «предоставляющим» lsb (в случае нежелательности «лишних» зависимостей вроде libqt3 ), и
- cryptopro-preinstall-full для автоустановки зависимостей cprocsp-rdr-gui .
Для обновления КриптоПро необходимо:
-
Запомнить текущую конфигурацию:
набор установленных пакетов:
Утилиты КриптоПро расположены в директориях /opt/cprocsp/sbin/<название_архитектуры> и /opt/cprocsp/bin/<название_архитектуры> .
Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:
- после установки пакета cryptopro-preinstall начните новый сеанс пользователя в консоли;
- выполните от имени пользователя, который будет запускать команды (будет действовать до закрытия терминала):
Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):
Примечание: Для версии КриптоПро CSP под Linux все лицензии считаются серверными, поэтому не смущайтесь строкой «License type: Server».
Для установки другой лицензии выполните (под root):Проверить версию КриптоПро можно командой:
Настройка устройств хранения (носителей) и считывания (считывателей) ключевой информации и датчиков случайных чисел.
Примечание: Если не работает под обычным пользователем, то проверить правила polkit.Считыватели (readers) — устройства, предназначенные для чтения ключей. К считывателям относится считыватели дискет (FAT12), считыватели флеш-накопителей (FLASH), считыватели смарт-карт и токенов, считыватель образа дискеты на жестком диске (HDIMAGE) и др.
Ключевые носители (media) являются местом хранения электронной подписи. В качестве носителя ключевой информации могут использоваться: защищенный флэш-накопитель (токен) (Рутокен, JaCarta, ESMART и др.), смарт-карта, флэш-накопитель, дискета.
Ключевые контейнеры — это способ хранения закрытых ключей, реализованный в КриптоПро. Их физическое представление зависит от типа ключевого носителя (на флеш-накопителе, дискете, жестком диске это каталог в котором хранится набор файлов с ключевой информацией; в случае со смарт-картами — файлы в защищенной памяти смарт-карты).
Встроенный в «КриптоПро CSP» датчик случайных чисел (далее ДСЧ) используется для генерации ключей.
Для смарт-карт: ключи дополнительно защищаются кодом доступа к защищенной памяти смарт-карты (PIN). При всех операциях с защищенной памятью (чтение, запись, удаление. ) требуется вводить PIN. Для других носителей: для повышения безопасности на контейнер можно установить пароль. В этом случае всё содержимое контейнера хранится не в открытом виде, а в зашифрованном на этом пароле. Пароль задается при создании контейнера, в дальнейшем для чтения ключей из контейнера необходимо будет вводить пароль.
Примечание: Подробнее про работе с разными ключевыми носителями: Рутокен, JaCarta, ESMARTПросмотр доступных (настроенных) считывателей:
Инициализация считывателя HDIMAGE, если его нет в списке доступных считывателей (под правами root):
Считыватель HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/ .
Для работы со считывателем PC/SC требуется пакет cprocsp-rdr-pcsc. После подключения считывателя можно просмотреть список видимых считывателей (не зависимо от того, настроены ли они в КриптоПро как считыватели, зависит только от того, какие установлены драйверы для считывателей):
Инициализация считывателя Aktiv Co. Rutoken S 00 00 (требуется, если считыватель есть в списке видимых считывателей и отсутствует в списке настроенных), в параметре -add указывается имя, которое было получено при просмотре видимых считывателей, в параметре -name — удобное для обращения к считывателю имя, например, Rutoken (под правами root):
Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd , которую необходимо запустить перед началом работы с соответствующими устройствами:
Обновление 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";
>Установка всех корневых и промежуточных сертификатов и СОС (под 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
Все операции делаем из под терминала юзера под пользователем (не по SSH) если нужно от root su можно из ssh
Проверка лицензии на ПО Крипто Про
cpconfig -license -viewУстановка промежуточных сертификатов
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».
Устанавливаем пакет «cryptopro-preinstall». Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).
cd linux-amd64
apt-get install cryptopro-preinstall Устанавливаем базовые пакеты КриптоПро
apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1* lsb-cprocsp-rdr-* Устанавливаем пакеты для поддержки токенов (Рутокен S и Рутокен ЭЦП):
apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccidПеред началом работы с рутокеном необходимо запустить службу 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
Установка всех корневых и промежуточных сертификатов и СОС (под root)
где
\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c – уникальное имя рутокена (см. п. 12.8)
/home/quest/cart/G.cer – полный путь к файлу сертификата.
12345678 – пароль на рутокен
Авторизуемся в терминале под пользователем root:
suВводим пароль суперпользователя.
Далее выполняем следующие команды:
Установка сертификата промежуточный центр сертификации:
Установка корневой сертификат:
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Распаковываем скачанный на предыдущем шаге архив (cades_linux_amd64.tar.gz):
Авторизуемся в терминале под пользователем root:
tar –xvzf linux-amd64-4.0
suВводим пароль суперпользователя.
Устанавливаем следующие два пакета из распакованного архива «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Начнется процесс установки расширения для браузера.
В настройках дополнений браузера («Главное меню» – «Инструменты» – «Дополнения») во вкладке Расширения у CryptoPro Extension for CAdEs Browser Plugin выбрать опцию «Всегда включать».Открыть в браузере следующий файл /etc/opt/cprocsp/trusted_sites.html. Для этого в адрес строке браузера прописать полный путь к данному файлу - /etc/opt/cprocsp/trusted_sites.html
Если плагин определился а ЭП ЭЦП нет долго думал но написал что нет ЭЦП отсутствуют, так же если вы подписываете файл а он долго думает
быстрее всего не хватает Корневых доверенных Сертификатов или Промежуточных сертификатов в цепочке сертификации ( в данном случае плагин работать не будет CAdEs)
Команды выполнятся от пользователя
Для проверки можно скопировать персональный сертификат в файл:
cryptcp -copycert -dn "SN=Иванов" -df tt.cer
если все хорошо
Цепочки сертификатов проверены.
Копирование сертификатов завершено.
[ErrorCode: 0x00000000]
Из вывода следует, что все сертификаты есть в цепочке сертификатов.Установка Корневого доверенного сертификата
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Авторизуемся в терминале под пользователем root:
suВводим пароль суперпользователя.
Устанавливаем скачанный выше пакет rpm.
Для корректной работы плагина версии < 3.0.0 необходимо добавить в файл /etc/ifc.cfg после раздела с Jacarta (для 64-битных систем) следующую информацию:
apt-get install ./ IFCPlugin-x86_64.rpm
где ./ IFCPlugin-x86_64.rpm – полный путь до файла установки плагина.
name = "CryptoPro CSP";
alias = "cryptoprocsp";
type = "pkcs11";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
>,
Открываем файл на редактирование:
pluma /etc/ifc.cfgВНИМАНИЕ! При наличии хотя бы одного контейнера КриптоПро с ГОСТ-2012 плагин ЕСИА перестаёт работать.
1. Удаляем Firefox который стоит в системе
apt-get remove --purge firefox -y2. Ставим Firefox 52.9
3. КриптоПРО 4.0.9963
apt-get install cryptopro-preinstall -ycd "/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.rpmapt-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 start7. Подключаем токен и ставим ключ в систему
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 12345678certmgr -list -store uMy
Проверяем чтобы PrivateKey Link = Yes8. Ставим корневые серты под юзером!
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.rpm10. Ставим IFCPlugin 3.0.6.0
cd "/mnt/docs/Переход/Софт/IFCPlugin 3.0.7.0"
apt-get install IFCPlugin-x86_64.rpm11. Правим 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: команда не найденаСперва я думал слетели переменные но после того как я проверил папку с файлом
/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 критических значений не обнаружил оставил пока все так.Устройства семейства Рутокен ЭЦП используются для безопасного хранения и предъявления персональной информации: ключей шифрования, сертификатов, лицензий, удостоверений и других данных.
Для работы с USB-токеном подключите его к USB-порту компьютера.
Для работы со смарт-картой вставьте ее в считыватель для смарт-карт и подключите считыватель к USB-порту компьютера.
Чтобы проверить корректность работы Рутокен ЭЦП в операционных системах GNU/Linux необходимо выполнить действия, указанные в данной инструкции.
Если вы используете для устройства стандартный PIN-код (12345678), то рекомендуется его изменить на более сложный.
Определение названия модели USB-токена
Если вы работаете со смарт-картой, то определять название USB-токена не надо.
Первым делом подключите USB-токен к компьютеру.
Для определения названия модели USB-токена откройте Терминал и введите команду:
В результате в окне Терминала отобразится название модели USB-токена:
Примечание: В более ранних версиях операционных систем на экране может отобразиться строка — ID 0a89:0030. Это тоже означает, что название модели подключенного USB-токена — Рутокен ЭЦП.
Проверка корректности подключения считывателя для смарт-карт к компьютеру
Если вы работаете с USB-токеном, то проверять корректность подключения считывателя к компьютеру не надо.
Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.
Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:
В результате в окне Терминала отобразится название модели считывателя для смарт-карт:
Это означает, что считыватель для смарт-карт подключен корректно.
Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения.
Установка дополнительного программного обеспечения
В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.
Таблица 1. Список операционных систем GNU/Linux
Debian, Ubuntu, Linux Mint,
RedHat, CentOS, Fedora, ALT Linux,
ROSA Linux, МСВС, ГосЛинукс
Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:
в deb-based системах это обычно:
- библиотека libccid не ниже 1.4.2;
- пакеты libpcsclite1 и pcscd;
- pcsc-tools.
в rpm-based системах это обычно:
- ccid не ниже 1.4.2;
- pcsc-lite;
- pcsc-tools.
в ALT Linux это обычно:
- pcsc-lite-ccid;
- libpcsclite;
- pcsc-tools.
Также для всех типов операционных систем необходимо установить библиотеку OpenSC.
Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:
В deb-based системах:
В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).
В rpm-based системах:
Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).
В ALT Linux:
Если у вас нет доступа к команде sudo, то используйте команду su.
Если библиотек и пакетов еще нет на компьютере, то необходимо их установить.
Для установки пакетов и библиотек:
В deb-based системах введите команду:
В rpm-based системах (кроме ALT Linux) введите команду:
В ALT Linux введите команду:
Если у вас нет доступа к команде sudo, то используйте команду su.
Проверка работы Рутокен ЭЦП в системе
Для проверки работы Рутокен ЭЦП:
Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
Определите разрядность используемой системы:
Если в результате выполнения команды отобразится строка подобная "i686", то система является 32-разрядной.
Если в результате выполнения команды отобразится строка подобная "x86_64", то система является 64-разрядной.
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
Чтобы проверить наличие сертификатов и ключевых пар на Рутокен ЭЦП введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
В результате в окне Терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокен ЭЦП.
Чтобы открыть сертификат или ключевую пару скопируйте ID необходимого объекта и введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
В результате в окне Терминала отобразится полная информация об указанном объекте.
Чтобы скопировать сертификат в файл введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
C — имя файла.
Изменение PIN-кода Рутокен ЭЦП
Определите разрядность используемой системы:
Если в результате выполнения команды отобразилась строка подобная "i686", то система является 32-разрядной.
Если в результате выполнения команды отобразилась строка подобная "x86_64", то система является 64-разрядной.
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
Для изменения PIN-кода введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.
В результате PIN-код устройства будет изменен.
Определение проблемы с Рутокен ЭЦП в системе
В данном разделе разберем две основные проблемы, которые могут возникнуть с Рутокен ЭЦП в системах GNU/Linux:
- наличие пакета OpenCT;
- отсутствие записей об устройстве в конфигурационном файле Info.plist.
Проблема "Наличие пакета OpenCT"
Способ определения
Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.
Для определения проблемы:
Остановите работу утилиты:
Запустите pcscd вручную в отладочном режиме:
Если у вас нет доступа к команде sudo, то используйте команду su.
Решение
Существует два способа решения данной проблемы.
1 способ. Удаление пакета OpenCT
Если пакет OpenCT необходим для работы и нет возможности его удалить, то перейдите сразу ко второму способу.
Для удаление OpenCT необходимо:
- Проверить наличие пакета в системе.
- Удалить пакет.
Шаг 1. Проверка наличия пакета OpenCT в системе
Для проверки наличия OpenCT в системе введите команду:
В deb-based системах:
В rpm-based системах:
Шаг 2. Удаление пакета OpenCT
Чтобы удалить OpenCT введите команду:
В deb-based системах:
В rpm-based системах:
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате OpenCT будет удален. После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.
2 способ. Удаление записей об устройстве в конфигурационном файле openct.conf
Для удаления записей об устройстве в конфигурационном файле необходимо:
- Открыть конфигурационный файл openct.conf.
- Удалить в конфигурационном файле необходимую строку.
- Перезагрузить сервис OpenCT.
Шаг 1. Открытие конфигурационного файла
Чтобы открыть конфигурационный файл введите команду:
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате откроется конфигурационный файл openct.conf.
Шаг 2. Удаление в конфигурационном файле необходимой строки
Для удаления в конфигурационном файле необходимой строки:
Шаг 3. Перезапуск сервиса OpenCT
Чтобы перезапустить сервис OpenCT введите команду:
После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.
Проблема "Отсутствие записей об устройстве в конфигурационном файле Info.plist"
Способ определения
Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.
Для определения проблемы:
Остановите работу утилиты:
Если у вас нет доступа к команде sudo, то используйте команду su.
Запустите pcscd вручную в отладочном режиме и осуществите поиск строки "Rutoken":
Откройте в библиотеке libccid конфигурационный файл Info.plist и проверьте наличие в нем записей об устройстве.
Для открытия конфигурационного файла Info.plist введите команду:
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате откроется конфигурационный файл Info.plist.
Проверьте наличие строк:
в массиве <key>ifdVendorID</key> строки <string>0x0A89</string>;
в массиве <key>ifdFriendlyName</key> строки <string>Aktiv Rutoken ECP</string>.
Решение
Будьте очень внимательны при работа с конфигурационным файлом Info.plist.
Добавьте недостающие строки в конфигурационный файл:
в массиве <key>ifdVendorID</key> строку <string>0x0A89</string>;
в массиве <key>ifdFriendlyName</key> строку <string>Aktiv Rutoken ECP</string>.
После этого следует снова проверить работу устройства в системе. Для этого перейдите в раздел Проверка работы Рутокен ЭЦП в системе.
Читайте также: