Работа с СКЗИ и аппаратными ключевыми носителями в Linux / Хабр

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

dpkg -l | grep cprocsp

Google chrome

  1. В окне браузера нажмите кнопку «Настройки» (три точки в правом верхнем углу) → «Дополнительные инструменты» → «Расширения».
  2. Проверьте наличие «CryptoPro Extension for CAdES Browser Plug-in» и активируйте его.
  3. Если «CryptoPro Extension for CAdES Browser Plug-in» отсутствует в расширениях, перейдите в интернет-магазин Chrome и установите его, затем повторите шаг 2.

В правом верхнем углу в списке активированных расширений должен появиться значок CryptoPro Extension for CAdES Browser Plug-in, что свидетельствует о правильной установке.

Rosa crypto tool


Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2021 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2.

Что внутри? Утилита написана на 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-сервисом по работе с подписью этой же компании.

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

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

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

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

Библиотека для работы с рутокен эцп 2.0[править]

Для работы должна быть установлена библиотека librtpkcs11ecp:

Где и как приобрести электронную подпись

Квалифицированную электронную подпись могут выдавать только удостоверяющие центры, аккредитованные Минкомсвязи. УЦ «Астрал-М» предлагает электронные подписи с большим выбором тарифных планов и дополнительных услуг.

Для получения квалифицированной электронной подписи нужно проделать четыре простых шага:

  1. Оставьте заявку, заполнив форму обратной связи на странице «Астрал-ЭТ».
  2. Подготовьте необходимый пакет документов и отправьте на проверку специалистам УЦ «Астрал-М».
  3. Оплатите выставленный счёт.
  4. Получите готовую электронную подпись.

Специалисты УЦ «Астрал-М» помогут вам выбрать подходящий тариф и расскажут, какие документы вам понадобятся для выпуска электронной подписи.

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

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

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

Добавление (запись) сертификатов[править]

Добавление сертификата, без привязки к ключам (только проверка ЭЦП):

Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище uMy:

Запись сертификата клиента в контейнер:

Добавление сертификата УЦ из файла certne_ucw.cer в хранилище машины (с правами root):

Добавление корневых сертификатов из файла cert.p7b (под root):

Необходимо последовательно добавить все сертификаты.

Значения pin-кодов на рутокен по умолчанию[править]

У Рутокен:
PIN-коды Рутокен S/Lite/ЭЦП 2.0, установленные по умолчанию — Пользователь: 12345678; Администратор: 87654321

У Рутокен Web:
PIN на скретч-карте.

Подробнее о КриптоПро: КриптоПро
Для поддержки Рутокен в качестве ключевого носителя в СКЗИ «КриптоПро CSP» необходимо установить модуль поддержки (из архива КриптоПро):

Изменение pin-кода[править]

Для изменения PIN-кода введите команду:

где
pin — текущий PIN-код устройства;
new-pin — новый PIN-код устройства.

Инициализация токена[править]

Внимание! При инициализации все данные с токена будут удалены!

Для инициализации токена следует выполнить команду (необходимо ввести so-pin карты 2 раза или передать его в качестве параметра –so-pin):

Как удалить плагин

Чтобы удалить «КриптоПро ЭЦП Browser plug-in» необходимо выполнить следующие действия:

  1. зайти в панель управления нажав кнопку меню «Пуск», далее «Параметры»;
  2. перейти в раздел управления программами в соответствии с версией Windows — «Установка и удаление программ» для Windows XP, «Программы и компоненты» для Windows Vista, Windows 7, Windows 8 или «Приложения» для Windows 10;
  3. в открывшемся окне выбрать программу «КриптоПро ЭЦП Browser Plug-in»;
  4. нажать «Удалить»;
  5. перезагрузить ПК.

Как установить и настроить криптопро эцп browser plug-in в разных браузерах

Установка «КриптоПро ЭЦП Browser plug-in» имеет различия в зависимости от браузера. На любой из браузеров нужно установить соответствующее расширение (дополнение).

Настройка «криптопро» csp


Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например,

или

), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.

Приступаем к настройке.

Настройка аутентификации[править]

С помощью следующих инструкций можно настроить аутентификацию в системе с помощью сертификата и ключа на Рутокен ЭЦП:

Также с его помощью может быть реализована двухфакторная аутентификация.

Настройка и диагностика криптопро csp

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

/opt/cprocsp/bin/amd64/csptest -card -enum -v –v

/opt/cprocsp/bin/amd64/csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251

Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00 — это наш носитель.

Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -add "Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00"

Работа с СКЗИ и аппаратными ключевыми носителями в Linux / Хабр

В результате выполнения в конфигурационный файл /etc/opt/cprocsp/config64.iniв раздел [KeyDevicesPCSC] будет добавлена запись:

[KeyDevicesPCSC”Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00″Default]

Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:

Использование СКЗИ «КриптоПро CSP» версии 4.0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ.00087-01 91 02. Руководство администратора безопасности.

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

/opt/cprocsp/sbin/amd64/cpconfig -ini 'configparameters' -add long StrengthenedKeyUsageControl 1

Проверяем, что режим включен:

cat /etc/opt/cprocsp/config64.ini | grep StrengthenedKeyUsageControl

Выполняем перезапуск службы криптографического провайдера:

/etc/init.d/cprocsp restart
/etc/init.d/cprocsp status

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

/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext

/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique

CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:REA
AcquireContext: OK. HCRYPTPROV: 16052291
alfa_shark1                        |SCARDJACARTA_4E3900154029304CCC00E9F6
OK.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 4.560 sec
[ErrorCode: 0x00000000]

Настройка и проверка работы плагина криптопро

Перед проверкой плагина КриптоПро в браузере проводят предварительные настройки с необходимостью установки дополнительного расширения. Алгоритм действий зависит от используемого интернет-обозревателя. Сначала рассмотрим инструкцию для пользователей Google Chrome:

Настройка работы с рутокен эцп 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало.

Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.

Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:

apt-get install libpcsclite1 pcscd libccid

Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:

dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb

Подпись средствами «криптопро csp»

В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:

Читайте также:  Налоговая служба как создать восстановить, удалить аккаунт – Аккаунт- это учетная запись!


Подписать можно с помощью команды:

csptestf –sfsign –sign –in <имя файла> -out <имя файла> -my ‘Trusted eSign Test’ –detached –alg GOST94_256

Здесь,

my — параметр, в котором надо указать часть Common Name сертификата для подписи;

detached — позволяет создать открепленную подпись;

alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:

csptestf –sfsign

Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.

Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.

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

Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.

Причина 1


Официальная документация на

больше адаптирована под операционные системы Astra Linux и ALT Linux, сертифицированные в Минобороны, ФСТЭК и ФСБ как средства защиты информации.

Причина 2

Лучшая инструкция по настройке взаимодействия с аппаратными носителями в Linux, которую удалось найти, была также от

Причина 3

UPD 16.04.2021:

В процессе настройки среды и оборудования выяснилось, что носитель, первым оказавшийся в распоряжении, был вовсе не JaCarta PKI Nano, как ожидалось, а устройство работающее в режиме SafeNet Authentication Client eToken PRO.

UPD 16.04.2021: Некогда Банку требовалось устройство, которое могло бы работать в той же инфраструктуре, что и eToken PRO (Java). В качестве такого устройства компания “ЗАО Аладдин Р.Д.” предложила токен JaCarta PRO, который был выбран банком.

UPD 16.04.2021: Благодарю компанию Аладдин Р.Д., за то что помогли разобраться и установить истину.

В этой ошибке нет никаких политических и скрытых смыслов, а только техническая ошибка сотрудника при подготовке документов. Токен JaCarta PRO является продуктом компании ЗАО “Аладдин Р.Д.”. Апплет, выполняющий функциональную часть, разработан компанией “ЗАО Аладдин Р.Д”.

Этот eToken PRO относился к партии, выпущенной до 1 декабря 2021 года. После этой даты компания «Аладдин Р.Д.» прекратила продажу устройств eToken PRO (Java).

Забегая немного вперед, нужно сказать, что работа с ним настраивалась через соответствующие драйверы — SafenetAuthenticationClient-10.0.32-0.x86_64, которые можно получить только в поддержке Аладдин Р.Д. по отдельной online заявке.

В КриптоПро CSP для работы с этим токеном требовалось установить пакет cprocsp-rdr-emv-64 | EMV/Gemalto support module.

Данный токен определялся и откликался. При помощи утилиты SACTools из пакета SafenetAuthenticationClient можно было выполнить его инициализацию. Но при работе с СКЗИ он вел себя крайне странно и непредсказуемо.

Проявлялось это следующим образом, на команду:

csptest -keyset -cont '\.Aladdin R.D. JaCarta [SCR Interface] (205D325E5842) 00 00alfa_shark' -check 


Выдавался ответ, что все хорошо:

[ErrorCode: 0x00000000]

Но сразу после попытки зачитать ключи программно эта же проверка начинала выдавать ошибку:

[ErrorCode: 0x8009001a]

Согласно перечню кодов ошибок объектной модели компонентов Microsoft

NTE_KEYSET_ENTRY_BAD
0x8009001A
Keyset as registered is invalid.

«Невалидный набор ключей» — причина такого сообщения, возможно, кроется либо в старом чипе, прошивке и апплете Gemalto, либо в их драйверах для ОС, которые не поддерживают новые стандарты формирования ЭП и функции хэширования ГОСТ Р 34.10-2021 и ГОСТ Р 34.11-2021.

В таком состоянии токен блокировался. СКЗИ начинало показывать неактуальное состояние считывателя и ключевого контейнера. Перезапуск службы криптографического провайдера cprocsp, службы работы с токенами и смарт-картами pcscd и всей операционной системы не помогали, только повторная инициализация.

Справедливости ради требуется отметить, что SafeNet eToken PRO корректно работал с ключами ГОСТ Р 34.10-2001 в ОС Windows 7 и 10.

Можно было бы попробовать установить СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto), но целевая задача — защитить наши ключи ЭП и шифрования с помощью сертифицированных ФСБ и ФСТЭК изделий семейства JaCarta, в которых поддерживаются новые стандарты.

Проблему удалось решить, взяв настоящий токен JaCarta PKI в (XL) обычном корпусе.

Но на попытки заставить работать Safenet eToken PRO времени было потрачено немало. Хотелось обратить на это внимание и, возможно, кого-то оградить от подобного.

Причина 4

Иногда самому требуется вернуться к старым статьям и инструкциям. Это удобно, когда информация размещена во внешнем источнике. Так что спасибо Хабру за предоставленную возможность.

После установки токена JaCarta PKI в USB порт сервера и запуска системы проверяем, что новое устройство обнаружено и появилось в списке:

lsusb

В нашем случае это Bus 004 Device 003: ID 24dc:0101

Для диагностики считывателей можно воспользоваться утилитой pcsc-tools из проекта security:chipcard (software.opensuse.org).

Запускается командой:

pcsc_scan

Пока не установлены все необходимые пакеты, информация о токене не отобразится.

Проверка наличия сертификатов и ключевых пар[править]

Просмотреть имеющуюся на токене информацию можно при помощи команды (требуется пароль от токена):

В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене.

Чтобы открыть сертификат или ключевую пару скопируйте ID необходимого объекта и введите команду:

В результате в окне Терминала отобразится полная информация об указанном объекте.

Чтобы скопировать сертификат в файл введите команду:

Проверка плагина криптопро эцп browser plug-in и устранение ошибок

Проверка плагина ЭЦП происходит на отдельном сервисе разработчика по ссылке. Если модуль с расширением установлен корректно, то при переходе на страницу для проверки КриптоПро появится предупреждение, что плагин запрашивает доступ к сертификатам и ключам.

Для работы с плагином потребуется добавить корневые сертификаты в перечень доверенных. Для этого выполните следующие действия:

Проверка плагина эцп: как установить browser plug-in

Плагин ЭЦП Browser plug-in можно назвать универсальным, поскольку его можно использовать для работы во всех современных браузерах с поддержкой динамического кода JavaScript. Модуль адаптирован под большинство популярных ОС:

  • Linux — LSB 3.1 или выше;
  • Windows 2000 и более поздние версии;
  • iOS 6 и Mac OSX 10/7 и новее;
  • Solaris — 10 версия и более поздняя;
  • AIX 5-7;
  • FreeBSD — от 7 и выше.

После установки и проверки плагина КриптоПро ЭЦП Browser plug-in пользователю становятся доступны:

  • идентификация пользователей;
  • формирование сертификатов с открытыми ключами;
  • создание реестра электронной подписи;
  • управление ЭЦП;
  • генерация ключей и управлением ими.

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

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

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

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


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

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

либо

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

Проверка подписи криптопро

Пользователям доступна проверка подписи КриптоПро. Для этого существуют специальный сервис. Алгоритм действий следующий:

  1. Перейдите на сервис КриптоПро DSS по ссылке.
  2. На открывшейся странице отметьте опцию «Выбрать» и укажите путь к нужному документу.
  3. Дождитесь, пока система обработает выбранный документ и выведет результаты проверки электронной подписи КриптоПро.
  4. При использовании представленного сервиса пользователи могут самостоятельно указывать формат подписи для проверки и активировать сверку требований к квалифицированному сертификату.

Представленный сервис бесплатный. Предварительная регистрация перед проверкой ЭП не требуется.

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

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


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

Проверка работы рутокен эцп в системе[править]

Проверяем работу токена, он должен быть виден в списке:

Список поддерживаемых механизмов:

$ pkcs11-tool -v --module /usr/lib64/pkcs11/librtpkcs11ecp.so --list-mechanisms
Using slot 0 with a present token (0x0)
Supported mechanisms:
  RSA-PKCS-KEY-PAIR-GEN, keySize={512,2048}, hw, generate_key_pair
  RSA-PKCS, keySize={512,2048}, hw, encrypt, decrypt, sign, verify
  RSA-PKCS-OAEP, keySize={512,2048}, hw, encrypt, decrypt
  MD5, digest
  SHA-1, digest
  GOSTR3410-KEY-PAIR-GEN, hw, generate_key_pair
  GOSTR3410, hw, sign, verify
  mechtype-0x1204, hw, derive
  GOSTR3411, hw, digest
  GOSTR3410-WITH-GOSTR3411, hw, digest, sign
  mechtype-0x1224, hw, wrap, unwrap
  mechtype-0x1221, hw, encrypt, decrypt
  mechtype-0x1222, hw, encrypt, decrypt
  mechtype-0x1220, hw, generate
  mechtype-0x1223, hw, sign, verify
  mechtype-0x1211, sign, verify

Проверка работы[править]

Проверяем работу токена, он должен быть виден в списке:

Просмотреть имеющуюся на токене информацию можно при помощи команды (требуется пароль от токена):

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

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

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


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

Читайте также:  Купить электронную подпись для налоговой

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

Программное извлечение ключей

В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:

import ru.CryptoPro.JCP.KeyStore.JCPPrivateKeyEntry;
import ru.CryptoPro.JCP.params.JCPProtectionParameter;


 KeyStore keyStore = KeyStore.getInstance("Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00", "JCSP");
            keyStore.load(null, null);

        JCPPrivateKeyEntry entry = null;
        X509Certificate certificate = null;
        PrivateKey privateKey = null;

        try {
         
            entry = (JCPPrivateKeyEntry) keyStore.getEntry(keyAlias,
                    new JCPProtectionParameter(pwd));
            
            certificate = (X509Certificate) entry.getCertificate();
            privateKey = entry.getPrivateKey();
         
        } catch (UnrecoverableEntryException | NullPointerException e) {
            LOGGER.log(Level.WARNING, PRIVATE_KEY_NOT_FOUND   keyAlias   ExceptionUtils.getFullStackTrace(e));
        }

Если действовать так:

Key key = keyStore.getKey(keyAlias, pwd);

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

Просмотр

certmgr -list

Просмотр сертификатов[править]

Просмотр сертификатов:

Просмотр сертификатов в локальном хранилище uMy:

Просмотр сертификатов в контейнере:

$ certmgr -list -container '\.Aktiv Rutoken ECP - CP 00 00Rutoken'
Certmgr 1.1 (c) "Crypto-Pro",  2007-2021.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : E=ivanov@mail.mail, CN=Иванов Иван Иванович, SN=Иванов, G=Иван Иванович, C=RU, S=39 Калининградская обл., L=Калининград, STREET=Пр-т Победы 14 кв.3
Serial              : 0x120032F1A2A438324D0C0EFA2900000032F1A2
SHA1 Hash           : 85b37ce3e2fce0f86f7847000eafca0a9c5df274
SubjKeyID           : c16fc96ae4670ac21b219434caae3a9f68b54ca2
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2021 (512 bits)
Not valid before    : 05/03/2021  10:56:32 UTC
Not valid after     : 05/06/2021  11:06:32 UTC
PrivateKey Link     : Certificate from container. No link to key
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2021_CRYPTO-PRO Test Center 2.crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO Test Center 2.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
                      1.3.6.1.4.1.311.10.3.12
=============================================================================

[ErrorCode: 0x00000000]

Просмотр корневых сертификатов:

Работа с токеном jacarta pki

Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.

После установки IDProtectClient — программного обеспечения для работы с JaCarta PKI, на сервере в папке /usr/share/applications появились два файла:

Athena-IDProtectClient.desktopAthena-IDProtectManager.desktop

Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools

Запустим утилиту IDProtectPINTool.

С помощью нее задаются и меняются PIN-коды доступа к токену.

/usr/bin/IDProtectPINTool

При первой инициализации токена будет полезна ссылка, содержащая PIN-коды (пароли) ключевых носителей по умолчанию

Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:

/usr/bin/IDProtect_Manager

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

Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:

/usr/bin/SACMonitor
/usr/bin/SACTools

Работа с СКЗИ и аппаратными ключевыми носителями в Linux / Хабр

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

/jdk1.8.0_181/jre/bin/java ru.CryptoPro.JCP.ControlPane.MainControlPane

Для отображения информации о содержимом контейнера с ключами можно выполнить команду:

/opt/cprocsp/bin/amd64/csptest -keyset -cont '\.Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00alfa_shark1' -info

Для диагностики контейнера используется эта же команда с ключом –check

/opt/cprocsp/bin/amd64/csptest -keyset -cont '\.Aladdin R.D. JaCarta [SCR Interface] (000000000000) 00 00alfa_shark' –check


Потребуется ввести пароль от контейнера:

Разблокировка pin-кода[править]

Для того чтобы разблокировать PIN-код необходимо выполнить команду (потребуется ввести so-pin карты, а затем дважды ввести новый PIN-код):

Результаты

Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.

Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.

Такие меры позволяют повысить уровень защиты наших информационных систем от кражи и компрометации ключей электронной подписи или шифрования, как удаленно по сети, так и физически.

Резюме

Подведем итог. В конце 2021 – начале 2021 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.

Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux.

Такое развитие не может не радовать, особенно когда это происходит под Linux.

Смена pin-кода[править]

Для смены PIN-кода необходимо выполнить команду (потребуется ввести текущий PIN-код, а затем дважды ввести новый):

Создание запроса на сертификат[править]

Создание запроса на получение сертификата средствами КриптоПро:

Например:

$ cryptcp -creatrqst 
-dn "E=ivanov@mail.mail,CN=Иванов Иван Иванович,SN=Иванов,G=Иван Иванович,C=RU,L=Калининград,ST=39 Калининградская обл.,street=Пр-т Победы 14 кв.3" 
-provtype 80 -nokeygen 
-cont '\.Aktiv Co. Rutoken S 00 00Rutoken' 
-certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" rutoken.req
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021.
Утилита командной строки для подписи и шифрования файлов.
Запрос успешно создан и сохранен в файле.
[ErrorCode: 0x00000000]

Запрос на сертификат необходимо подписать в аккредитованном удостоверяющем центре.

Создание и проверка подписи[править]

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

$ cryptcp -sign -dn E=ivanov@mail.mail -der my_file.odt 
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:11223344556, 102301111222, Пр-т Победы 14 кв.3, Калининград, 39 Калининградская обл., RU, ivanov@mail.mail, Иван Иванович, Иванов, Иванов Иван Иванович
Действителен с 27.02.2021 13:41:47 по 27.05.2021 13:51:47

Цепочки сертификатов проверены.
Папка './':
my_file.odt... Подпись данных...    
    
Подписанное сообщение успешно создано.
[ErrorCode: 0x00000000]

На выходе появится файл my_file.odt.sig, содержащий как сам подписываемый файл, так и электронную подпись.
Для проверки прикреплённой подписи выполните команду:

$ cryptcp -verify my_file.odt.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021.
Утилита командной строки для подписи и шифрования файлов.

Найдено сертификатов: 2
Цепочки сертификатов проверены.
Папка './':
my_file.odt.sig... Проверка подписи...     
Автор подписи: 11223344556, 102301111222, Пр-т Победы 14 кв.3, Калининград, 39 Калининградская обл., RU, ivanov@mail.mail, Иван Иванович, Иванов, Иванов Иван Иванович
 Подпись проверена.
[ErrorCode: 0x00000000]

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

Для создания откреплённой (detached) подписи необходимо заменить ключ -sign на -signf:

Проверка откреплённой подписи:

Внимание! Rutoken S — не является активным ключевым носителем — в нем нет аппаратной поддержки алгоритмов, а для использования RSA в opensc < 0.12 были реализованы выгрузкаприватного (!!!) ключа из Rutoken S и работа с этим ключом через openssl.

Создание ключевой пары[править]

Создание ключевой пары по алгоритму ГОСТ-2001 (PIN-код пользователя указывается в опции –pin, или запрашивается, если опцию не задать):

Создание ключевой пары RSA 2048 (запрашивается PIN-код пользователя):

Примечание: Рекомендуемая длина ключа RSA — не ниже 2048 бит.

Примечание: Если у вас уже имеется выписанная на токен ключевая пара RSA с привязанным к ней сертификатом, то вы можете использовать их для аутентификации.

Создание контейнера[править]

Создание контейнера на токене/смарт-карте:

При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где будет предложено перемещать указатель мыши или нажимать клавиши:

Примечание: Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры.

После этого необходимо предъявить PIN-код пользователя.

После указания PIN-кода снова будет предложено перемещать указатель мыши.

Проверить наличие контейнеров можно с помощью команды:

Просмотр подробной информации о контейнере:

Удалить контейнер можно с помощью команды:

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

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

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

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


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

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

Удаление

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

Удаление объекта[править]

Для удаления объекта необходимо указать его тип и идентификатор (id) или название (label). Открытый и закрытый ключ удаляются отдельно.

Типы объектов:

  • privkey – закрытый ключ;
  • pubkey – открытый ключ;
  • cert – сертификат.

Управление считывателями[править]

Проверка видимости токена:

Просмотр доступных считывателей:

Инициализация считывателя Aktiv Co. Rutoken S 00 00 (требуется, если считыватель есть в списке видимых считывателей и отсутствует в списке настроенных), в параметре -add указывается имя, которое было получено при просмотре видимых считывателей, в параметре -name — удобное для обращения к считывателю имя, например, Rutoken (под правами root):

Установка «рутокен плагин»[править]

Рутокен Плагин представляет собой решение для электронной подписи, шифрования и двухфакторной аутентификации для Web- и SaaS-сервисов.
Плагин необходим для связи USB-устройств c браузером, он позволяет опознавать и работать с ними. Для того чтобы установить плагин, необходимо загрузить соответствующий установочный файл и запустить его

Чтобы установить «Рутокен плагин» необходимо:

  1. Загрузить «Рутокен плагин» со страницы по ссылке (выбрать пакет формата «rpm»):
    Загрузка «Рутокен плагин»
  2. Установить «Рутокен плагин». Для этого в контекстном меню скаченного файла выбрать пункт «Открыть в Установка RPM». В открывшемся окне нажать кнопку «Установить»:
    Установка пакетов RPM
    Ввести пароль администратора системы и нажать кнопку «ОК»:
    Ввод пароля администратора системы
    В открывшемся окне нажать кнопку «Установить»:
    Установка пакетов RPM
    Или установить «Рутокен плагин», выполнив из папки с загруженным пакетом команду (под правами root):
  3. Перезапустить браузер.
  4. Убедиться, что плагин установлен и включен. Сделать это можно на странице about:addons (или about:plugins в более ранних версиях Mozilla Firefox):
    Рутокен плагин
Читайте также:  Как установить сертификат ЭЦП на компьютер

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

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

Установка драйверов и по для работы с jacarta pki


На странице Поддержки сайта «Аладдин Р.Д.» загружаем

Согласно Руководству по внедрению «JaCarta для Linux» пункт 4.2., первым делом требуется установить пакеты pcsc-lite, ccid и libusb.

Для работы утилиты управления JaCarta необходимо установить следующие компоненты:

Выполняем проверку наличия этих пакетов и установку:

zypper search pcsc-lite

zypper search libusb

zypper install pcsc-lite

zypper search CCID

zypper install pcsc-ccid

zypper search CCID

zypper install libusb

В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.

Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:

zypper install idprotectclientlib-637.03-0.x86_64.rpm

zypper install idprotectclient-637.03-0.x86_64.rpm

Проверяем, что драйверы и ПО для JaCarta PKI установились:

zypper search idprotectclient

При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.Д.

zypper search openct

Поэтому пакет openct удаляем:

rpm -e openct

Теперь все необходимые драйверы и ПО для работы с токеном установлены.

Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:

pcsc_scan

Установка пакетов криптопро csp


При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.

zypper search cprocsp

Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP

zypper install cprocsp-rdr-jacarta-64-3.6.408.683-4.x86_64.rpm

Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки SafeNet eToken PRO cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm — EMV/Gemalto support module, то получим сообщение о необходимости сначала установить базовый компонент CSP поддержки считывателей cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm — PC/SC components for CryptoPro CSP readers:

zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides cprocsp-rdr-pcsc-64 >= 4.0 needed by cprocsp-rdr-emv-64-4.0.9944-5.x86_64
 Solution 1: do not install cprocsp-rdr-emv-64-4.0.9944-5.x86_64
 Solution 2: break cprocsp-rdr-emv-64-4.0.9944-5.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): c

Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:

zypper install cprocsp-rdr-pcsc-64-4.0.9944-5.x86_64.rpm

zypper install lsb-cprocsp-pkcs11-64-4.0.9944-5.x86_64.rpm

Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:

zypper install cprocsp-rdr-emv-64-4.0.9944-5.x86_64.rpm

zypper install cprocsp-rdr-novacard-64-4.0.9944-5.x86_64.rpm
zypper install cprocsp-rdr-mskey-64-4.0.9944-5.x86_64.rpm
zypper install cprocsp-rdr-gui-gtk-64-4.0.9944-5.x86_64.rpm

Работа с СКЗИ и аппаратными ключевыми носителями в Linux / Хабр

Проверяем итоговую конфигурацию КриптоПро CSP:

zypper search cprocsp
Loading repository data...
Reading installed packages...

S | Name | Summary | Type— —————————– —————————————————- ——–i | cprocsp-curl-64 | CryptoPro Curl shared library and binaris. Build 9944. | packagei | cprocsp-rdr-emv-64 | EMV/Gemalto support module | packagei | cprocsp-rdr-gui-gtk-64 | GUI components for CryptoPro CSP readers. Build 9944. | packagei | cprocsp-rdr-jacarta-64 | JaCarta components for CryptoPro CSP. Build 683. | packagei | cprocsp-rdr-mskey-64 | Mskey support module | packagei | cprocsp-rdr-novacard-64 | Novacard support module | packagei | cprocsp-rdr-pcsc-64 | PC/SC components for CryptoPro CSP readers. Build 9944.| packagei | lsb-cprocsp-base | CryptoPro CSP directories and scripts. Build 9944. | packagei | lsb-cprocsp-ca-certs | CA certificates. Build 9944. | packagei | lsb-cprocsp-capilite-64 | CryptoAPI lite. Build 9944. | packagei | lsb-cprocsp-kc2-64 | CryptoPro CSP KC2. Build 9944. | packagei | lsb-cprocsp-pkcs11-64 | CryptoPro PKCS11. Build 9944. | packagei | lsb-cprocsp-rdr-64 | CryptoPro CSP readers. Build 9944. | package

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

/etc/init.d/cprocsp restart
/etc/init.d/cprocsp status

Работа с СКЗИ и аппаратными ключевыми носителями в Linux / Хабр

Установка сертификатов используя криптопро в linux

Описание процесса установки приведено на примере дистрибутива семейства Debian (x64).
Названия файлов и директорий могут варьироваться от системы к системе.

При установке личных сертификатов не нужны права суперпользователя, и наоборот, при установке сертификатов УЦ
(корневых и промежуточных) могут потребоваться такие права.

Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
    CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
    AcquireContext: OK. HCRYPTPROV: 16188003
    \.FLASHivanov\.FLASHpetrov\.FLASHsidorov\.FLASHvasiliev\.FLASHsmirnov
    OK.
    Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec

Можно сразу установить личные сертификатов из всех доступных контейнеров одной командой:

/opt/cprocsp/bin/amd64/csptestf -absorb -certs
Произойдет установка сертификатов, находящихся во всех доступных в момент запуска команды контейнерах
(съемных флэш-носителях, жесткого диска и т. д.) в хранилище uMy.

При необходимости скопируйте ключевой контейнер \.FLASH.sidorov на жесткий диск:

/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\.FLASHsidorov' -contdest '\.HDIMAGEsidor'
    CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
    CryptAcquireContext succeeded.HCRYPTPROV: 38556259
    CryptAcquireContext succeeded.HCRYPTPROV: 38770755
    Total: SYS: 0,000 sec USR: 0,100 sec UTC: 14,920 sec
    [ErrorCode: 0x00000000]

Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.

Проверьте наличие нового контейнера \.HDIMAGEsidor:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
    CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
    AcquireContext: OK. HCRYPTPROV: 34554467
    \.FLASHivanov
    \.FLASHpetrov
    \.FLASHsidorov
    \.FLASHvasiliev
    \.FLASHsmirnov
    \.HDIMAGEsidor
    OK.
    Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec
    [ErrorCode: 0x00000000]

Установите личный сертификат:

/opt/cprocsp/bin/amd64/certmgr -inst -cont '\.HDIMAGEsidor'
    Certmgr 1.0 (c) "CryptoPro",  2007-2021.
    program for managing certificates, CRLs and stores

    Install:
    =============================================================================
    1-------
    Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
    Subject             : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, E=sidorov@mail.ru, C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
    Serial              : 0x12C40953000000000019
    SHA1 Hash           : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
    SubjKeyID           : 5fc37e578cce0abe739c4da227f68a2f9abcb128
    Signature Algorithm : ГОСТ Р 34.11/34.10-2001
    PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
    Not valid before    : 09/08/2021  06:07:00 UTC
    Not valid after     : 09/11/2021  06:17:00 UTC
    PrivateKey Link     : No
    CA cert URL         : http://cert1.ucestp.ru/estp.crt
    Extended Key Usage  : 1.3.6.1.5.5.7.3.4
    1.3.6.1.5.5.7.3.2
    =============================================================================
    [ErrorCode: 0x00000000]

Скачайте корневой сертификат по ссылке выше (из поля CA cert URL):
http://cert1.ucecpexpert.ru/estp.crt
и перенесите его, например, в домашнюю папку:

cp ~/Загрузки/estp.crt ~/estp.crt

Установите корневой сертификат (возможно потребуются права суперпользователя):

/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file ~/estp.crt
    Certmgr 1.0 (c) "CryptoPro",  2007-2021.
    program for managing certificates, CRLs and stores

    Install:
    =============================================================================
    1-------
    Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
    Subject             : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
    Serial              : 0x50D7BC0E4A3EC9994454EB83013EE5F5
    SHA1 Hash           : 0xd2144a3e098b6f2decb224257f48e2b7c6d85209
    SubjKeyID           : 07b753cd561dee8e5e83407be4575ecc05bfec14
    Signature Algorithm : ГОСТ Р 34.11/34.10-2001
    PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
    Not valid before    : 17/06/2021  13:15:21 UTC
    Not valid after     : 17/06/2021  13:25:01 UTC
    PrivateKey Link     : No
    =============================================================================
    [ErrorCode: 0x00000000]

Проверьте установку личного сертификата:

/opt/cprocsp/bin/amd64/certmgr -list -store uMy
    Certmgr 1.0 (c) "CryptoPro",  2007-2021.
    program for managing certificates, CRLs and stores
    =============================================================================
    1-------
    Issuer              : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
    Subject             : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, E=sidorov@mail.ru, C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
    Serial              : 0x12C40953000000000019
    SHA1 Hash           : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
    SubjKeyID           : 5fc37e578cce0abe739c4da227f68a2f9abcb128
    Signature Algorithm : ГОСТ Р 34.11/34.10-2001
    PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
    Not valid before    : 09/08/2021  06:07:00 UTC
    Not valid after     : 09/11/2021  06:17:00 UTC
    PrivateKey Link     : Yes
    Container           : HDIMAGE\sidor.0002B01
    Provider Name       : Crypto-Pro GOST R 34.10-2021 KC1 CSP
    Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
    CA cert URL         : http://cert1.ucestp.ru/estp.crt
    Extended Key Usage  : 1.3.6.1.5.5.7.3.4
    1.3.6.1.5.5.7.3.2
    =============================================================================
    [ErrorCode: 0x00000000]

Утилита pkcs11-tool[править]

Должны быть установлены пакеты:

В состав opensc входит универсальная утилита pkcs11-tool, которой можно «подложить», например, библиотеку PKCS#11 для работы с Рутокен ЭЦП 2.0 и с ее помощью «управлять» Рутокенами.

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


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

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

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


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

Яндекс.браузер

  1. В браузере откройте меню (три полоски в правом верхнем углу) → «Дополнения».
  2. Проверьте наличие «КриптоПро ЭЦП» и активируйте его.

Добавить комментарий

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

Adblock
detector