Нет привязки к закрытому ключу linux

Обновлено: 06.07.2024

Загрузить последнюю версию Крипто-Про с официального сайта

Открыть Пуск->Утилиты->Менеджер файлов mc
перейти в каталог куда загрузили архив

Распакуем архив
$ tar -xf linux-amd64_deb.tgz

Перейдем в каталог
$ cd linux-amd64_deb

получим то что на картинке ниже

Жмем клавишу Enter

Выбираем все пункты нажимая на клавишу "Пробел" переход осуществляется клавишами вниз/вверх

Жмем клавишу Enter

Жмем клавишу Enter

Жмем клавишу Enter

Жмем клавишу Enter

Вводим свой серийный номер. Регистр нужно строго соблюдать.
Жмем клавишу Enter

Жмем выбираем Exit клавишами Tab, жмем клавишу Enter, Выбираем Yes, жмем клавишу Enter

они все есть в репозитарии астры, ничего нигде искать дополнительно не надо

Библиотека libccid не ниже 1.4.2

Проверить USB токены можно командой
$ /opt/cprocsp/bin/amd64/list_pcsc

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

$ tar -xf cades_linux_amd64.tar.gz

Конвертируем в deb пакеты

<вывод команды>
Warning: Skipping conversion of scripts in package cprocsp-pki-cades: postinst prerm
Warning: Use the --scripts parameter to include the scripts.
cprocsp-pki-cades_2.0.0-2_amd64.deb generated
cprocsp-pki-phpcades_2.0.0-2_amd64.deb generated
Warning: Skipping conversion of scripts in package cprocsp-pki-plugin: postinst prerm
Warning: Use the --scripts parameter to include the scripts.
cprocsp-pki-plugin_2.0.0-2_amd64.deb generated
Warning: Skipping conversion of scripts in package lsb-cprocsp-devel: prerm
Warning: Use the --scripts parameter to include the scripts.
lsb-cprocsp-devel_4.0.9921-6_all.deb generated
</вывод команды>

если вывод команды был "bash: alien: команда не найдена", то вам надо читать внимательней потребности, установить alien

Выбор ранее не выбранного пакета lsb-cprocsp-devel.
(Чтение базы данных … на данный момент установлено 232442 файла и каталога.)
Подготовка к распаковке lsb-cprocsp-devel_4.0.9921-6_all.deb …
Распаковывается lsb-cprocsp-devel (4.0.9921-6) …
Выбор ранее не выбранного пакета cprocsp-pki-cades.
Подготовка к распаковке cprocsp-pki-cades_2.0.0-2_amd64.deb …
Распаковывается cprocsp-pki-cades (2.0.0-2) …
Выбор ранее не выбранного пакета cprocsp-pki-phpcades.
Подготовка к распаковке cprocsp-pki-phpcades_2.0.0-2_amd64.deb …
Распаковывается cprocsp-pki-phpcades (2.0.0-2) …
Выбор ранее не выбранного пакета cprocsp-pki-plugin.
Подготовка к распаковке cprocsp-pki-plugin_2.0.0-2_amd64.deb …
Распаковывается cprocsp-pki-plugin (2.0.0-2) …
Настраивается пакет lsb-cprocsp-devel (4.0.9921-6) …
Настраивается пакет cprocsp-pki-cades (2.0.0-2) …
Настраивается пакет cprocsp-pki-phpcades (2.0.0-2) …
Настраивается пакет cprocsp-pki-plugin (2.0.0-2) …
Обрабатываются триггеры для libc-bin (2.24-11+deb9u3) …

на всякий пожарный установку лучше повторить, т.к. бывали случаи что установка прошла успешно, а библиотек на месте не было

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

создаем симлинк для корректной работы связи расширения браузера с библиотекой установленного плагина

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

Одно из самых главных требований при работе с этим плагином, это нужно при КОПИРОВАНИИ или СОЗДАНИИ контейнера установить пинкод

Разархивируем
$ unzip IFCPlugin-3.0.0-x86_64.deb.zip

создаем симлинк для корректной работы связи расширения браузера с библиотекой установленного плагина

config = cert_from_registry = "false";
set_user_pin = "false";
>

< name = "Криптопровайдер КриптоПро CSP";
alias = "CryptoPro";
type = "capi";
provider_name = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";
provider_num = "75";
skip_pkcs11_list = "false";
>,

Заходим в каталог куда скачали архив
$ unzip ifc.cfg.zip

Копируем конфигурационный файл

Перейти в меню - Дополнительные инструменты - Расширения и включить плагин


Можно проверять .

На случай диагностики ошибок ifcplugin нужен будет лог /var/log/ifc/engine_logs/engine.log

Вложения

DavidovichDV

New member

Общее описание выводов ошибок
[ErrorCode: 0x00000000]
\\ Код ошибки 0, значит все прошло успешно

Error number 0x8009001f (2148073503).
Неправильный параметр набора ключей.
\\ скорее всего нужно добавить пинкод или другой тип стандарта контейнера если ошибка возникает при копировании ключей
\\ -pinsrc 12345678
\\ -pindest 12345678

ERROR: SCardListReaders(NULL)
если ключ вставлен, то скорее всего либо у вас не установлены требуемые библиотеки/драйвера, либо что то мешает его распознать(какой-то пакет из состава Крипто-Про)

Спойлер: Частые команды для управления ключами и сертификатами

Проверить/отобразить USB токены можно командой
$ /opt/cprocsp/bin/amd64/list_pcsc
Примерный вывод:
Aktiv Co. Rutoken S 00 00

если получили ERROR: SCardListReaders(NULL) , если ключ вставлен, то скорее всего либо у вас не установлены требуемые библиотеки/драйвера, либо что то мешает его распознать(какой-то пакет из состава Крипто-Про)

Спойлер: Вывести список всех ключевых носителей и контейнеров

Вывести список всех ключевых носителей и контейнеров
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn

<вывод команды>
CSP (Type:80) v4.0.9017 KC2 Release Ver:4.0.9944 OS:Linux CPU:AMD64 FastCode:READY:SSSE3.
AcquireContext: OK. HCRYPTPROV: 28131731
\\.\Aktiv Co. Rutoken S 00 00\key1
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 1,380 sec
[ErrorCode: 0x00000000]
</вывод команды>

Вывод всех ключевых носителей и контейнеров с отображением уникального имени
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn -uniq

<вывод команды>
CSP (Type:80) v4.0.9018 KC2 Release Ver:4.0.9958 OS:Linux CPU:AMD64 FastCode:READY:SSSE3.
AcquireContext: OK. HCRYPTPROV: 16527635
\\.\HDIMAGE\key0 |\\.\HDIMAGE\HDIMAGE\\key0.000\1174
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 2,130 sec
[ErrorCode: 0x00000000]
</вывод команды>

Нужная нам информация между строками " AcquireContext: OK. " и " OK . "

Еще возможный вывод \\.\HDIMAGE\ и \\.\FLASH\, где

\\.\HDIMAGE\ это ключевой носитель сохранен на жестком диске, вроде считывателя реестра в Windows версии. "key0" это имя ключевого контейнера на носителе.

$ /opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\\.\HDIMAGE\key0' -contdest '\\.\Aktiv Co. Rutoken S 00 00\key1' -typesrc 75 -typedest 75 -pinsrc 12345678 -pindest 12345678

<описание опций>

csptest -keycopy \\ Запуск копирования
-contsrc '\\.\HDIMAGE\key0'

\\ Указываем откуда копируем "\\.\HDIMAGE" это указатель откуда брать ключ в данном случае из локального расположения,

навроде считывателя реестра в Windows версии. "key0" это имя ключевого контейнера на носителе

-contdest '\\.\Aktiv Co. Rutoken S 00 00\key1'

\\ Указываем куда копируем '\\.\Aktiv Co. Rutoken S 00 00\key1' это указатель на устройство

ОБЯЗАТЕЛЬНО . Имя ключей должно отличаться
ОБЯЗАТЕЛЬНО . Имя ключей должно быть на латинице,
КАТЕГОРИЧЕСКИ не рекомендуется использовать кириллицу или любой другой алфавит отличный от латиницы

-typesrc 75 \\ Тип сформированного контейнера откуда копируется по ГОСТУ где 75(ГОСТ-2001), 80(ГОСТ-2012)

-typedest 75 \\ Тип сформированного контейнера куда копируется
-pinsrc 12345678 \\ Пинкод источника ключевого носителя
-pindest 12345678 \\ Пинкод ключевого носителя

</описание опций>

<вывод команды>

Копирование контейнера с ключами по уникальным именам на случай если имя контейнера содержит кириллицу или какие нибудь непонятные символы
$ /opt/cprocsp/bin/amd64/csptest -keycopy -contsrc 'HDIMAGE\\key0.000\1174' -contdest '\\.\Aktiv Co. Rutoken S 00 00\key1' -typesrc 75 -typedest 75 Удаление контейнера с ключами по уникальному имени
$ /opt/cprocsp/bin/amd64/csptest -keyset -delete -cont 'HDIMAGE\\key0.000\1174' Спойлер: Импорт, экспорт и удаление сертификатов в хранилище сертификатов *** Импорт корневого доверенного сертификата
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file ROOT.cer
Вместо ROOT.cer подставить свой корневой серитикат который вы хотите загрузить Спойлер: *** Импорт личного сертификата в хранилище из ключевых носителей

*** Загрузка личного сертификата в хранилище в данном случае из локального считывателя
$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'HDIMAGE'

*** Загрузка личного сертификата в хранилище в данном случае из рутокена
$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'rutoken'

*** Загрузка личного сертификата в хранилище в данном случае из Флэш накопителя
$ /opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'FLASH'

*** Вывод личных сертификатов в личном хранилище
$ /opt/cprocsp/bin/amd64/certmgr -list -cert -store uMy

*** Вывод субъекта и серийного номера загруженных личных сертификатов в личном хранилище
$ /opt/cprocsp/bin/amd64/certmgr -list -cert -store uMy | grep -iE "^Serial|^Subject"

*** Полный вывод загруженных сертификатов корневых удостоверяющих центров в личном хранилище
$/opt/cprocsp/bin/amd64/certmgr -list -cert -store uroot

*** Вывод субъекта и серийного номера загруженных сертификатов корневых удостоверяющих центров в личном хранилище
$ /opt/cprocsp/bin/amd64/certmgr -list -cert -store root | grep -iE "^Serial|^Subject"

*** Полный вывод загруженных сертификатов промежуточных серверов в личном хранилище
$ /opt/cprocsp/bin/amd64/certmgr -list -cert -store uca

*** Вывод субъекта и серийного номера загруженных сертификатов промежуточных серверов в личном хранилище
$ /opt/cprocsp/bin/amd64/certmgr -list -cert -store uca | grep -iE "^Serial|^Subject"

Спойлер: *** Загрузка личного сертификата в хранилище, в данном случае из всех считывателей rutoken

*** Загрузка личного сертификата в личное хранилище сертификатов, в данном случае из всех считывателей rutoken
/opt/cprocsp/bin/amd64/csptestf -absorb -cert -pattern 'rutoken'

<вывод команды>
Match: SCARD\rutoken_32b56458\0B00\7E72
OK.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 1,760 sec
[ErrorCode: 0x00000000]
</вывод команды>

<описание вывода>
Match: SCARD\rutoken_32b56458\0B00\7E72
\\Match это означает что он нашел ключевые носители удовлетворяющие условию и загрузил с него все сертификаты
\\Skip это значит что этот считыватель и контейнер не соответствует запросу и будет проигнорирован
</описание вывода>

/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file 48b19fb33bb637c88a54d19650730b67e42db121.cer

файл сертификата прикреплен

Спойлер: ---Экспорт личного сертификата и закрытого ключа

*** Экспорт в файл сертификата из хранилища
$ /opt/cprocsp/bin/amd64/certmgr -export -cert -dn "CN=" -dest 'cert.crt'
Сначала выведет список всех имеющихся личных сертификатов, затем нужно ввести порядковый номер сертификата

--- Эспорт в файл закрытого ключа из хранилища
/opt/cprocsp/bin/amd64/certmgr -export -file 1234.pfx
Сначала выведет список всех имеющихся личных сертификатов, затем нужно ввести порядковый номер сертификата

Вложения

Blaze

New member
Вопросы по госуслугам.
1) Возможен-ли вход в Личный кабинет Госуслуг, если личный сертификат установлен в хранилище -store uMy с привязкой к контейнеру закрытого ключа, в локальном ридере HDIMAGE?
2) Или вход возможен только по rutoken с установленным пин кодом.
3) Для чего в /etc/ifc.cfg секция

и за что отвечают эти параметры?

P.S. С госзакупками проблем со входом не возникло. Спасибо.

DavidovichDV

New member
Вопросы по госуслугам.
1) Возможен-ли вход в Личный кабинет Госуслуг, если личный сертификат установлен в хранилище -store uMy с привязкой к контейнеру закрытого ключа, в локальном ридере HDIMAGE?
2) Или вход возможен только по rutoken с установленным пин кодом.
3) Для чего в /etc/ifc.cfg секция

и за что отвечают эти параметры?

P.S. С госзакупками проблем со входом не возникло. Спасибо.

1. Да может.
2. нет, можно воспользоваться любым контейнером
3. Это либо от старого функционала который в новой версии не работает, либо планируемый на будущее и сейчас тестируется у разработчика

лучше оставить так как работает, любы изобретения могут привести к сбоям в работе

Blaze

New member
Использую Porteus 4.0 x86_64 + КриптоПро CSP 5.0.11233 (Domovoy) KC1 от 18.09.2018 + IFCPlugin-3.0.3.0-x86_64 + pcsc-lite-1.8.24-x86_64-1cf
В /etc/ifc.cfg добавил:

личный сертификат установлен в хранилище -store uMy с привязкой к контейнеру закрытого ключа, в локальном ридере HDIMAGE

В Astra Linux применяется какая версия пакета pcsc-lite ?

У меня вечно, пока не закроешь страницу, висит на обращении к средству электронной подписи и бесконечно бегает анимация


DavidovichDV

New member

У вас плагин версии 3.0.3 он не работает, нужен 3.0.0, проверено на многих дистрибутивах

pcsc-1.8.20, но это существенной роли не сыграет главное это версия плагина.

amotash

New member
Здравствуйте.
С плагином 3.0.3 не появлялось окно с выбором сертификата.
Установил плагин 3.0.0 окно выбора сертификата появилось. (обрадовался )
После выборы нужно сертификата и ввода пароля окно закрывается, вход в личный кабинет не происходит.

Вложения

Screenshot_20181207_165112.jpg

Screenshot_20181207_165145.jpg

Screenshot_20181207_165202.jpg

DavidovichDV

New member
Здравствуйте.
С плагином 3.0.3 не появлялось окно с выбором сертификата.
Установил плагин 3.0.0 окно выбора сертификата появилось. (обрадовался )
После выборы нужно сертификата и ввода пароля окно закрывается, вход в личный кабинет не происходит. нужен хотя бы скриншот того что у вас происходит, желательно скриншоты под спойлеры

amotash

New member
нужен хотя бы скриншот того что у вас происходит, желательно скриншоты под спойлеры

DavidovichDV

New member

amotash

New member
Пинкод на контейнере стоит.
Вводил правильный, неправильный, оставлял пустым - результат один и тот же. Скидывает на страницу входа.

Вложения

Screenshot_20181207_165202.jpg

mfc31

New member

DavidovichDV

New member
Пинкод на контейнере стоит.
Вводил правильный, неправильный, оставлял пустым - результат один и тот же. Скидывает на страницу входа. есть подозрение что виноват Yandex-browser, проверьте пожалуйста на интегрированном chromium или chromium-gost

renbuar

New member

По данной инструкции зашел на площадки и госуслуги. Спасибо.

renbuar

New member
Andrey, [05.10.18 11:28]
[В ответ на Дмитрий Давидович]
У них кривой сертификат сервера.
Диагностировать можно так:
[root@test-x64-centos7

Andrey, [05.10.18 11:35]
Но мы сделали параметр для отключения требований RFC6125, который может подвергнуть систему опасности для атак с подменой сертификатов:
[root@test-x64-centos7

вопросы

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

Что может послужить причиной такой ошибки

ошибка в контейнере закрытого ключа и причины её появления

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

В целях устранения ошибки обычно бывает достаточно произвести корректную ручную переустановку сертификата.

Решение ошибки: отсутствие электронного сертификата в контейнере закрытого ключа

Для начала запускаем «КриптоПро» нажатием кнопки «Пуск». Затем выбираем «Настройку», в возникающем на мониторе окне заходим в опцию панели управления, далее «сервис – установить личный сертификат».

программа криптопро предложит указать место хранение сертификата

Далее, через кнопку «обзор» указываем путь, где сохранен открытый ключ – файл с расширением *.cert или *.crt

Необходимо выбрать файл и открыть его с помощью криптопро

Жмём «Далее», в мастере установки сертификата мы увидим путь, который указывали до нашего сертификата.

Убедившись, что криптопро верно распознало путь установки сертификата, подтверждаем установку

Нам отображается информация, содержащаяся в открытом ключе на пользователя, жмём «далее»

Перед импортом сертификата надо проверить содержащуюся в нем информацию

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

  • «найти контейнер автоматически
  • вручную через «обзор»

В первом случае КриптоПро на основе данных из открытого ключа подберет закрытый, в случае с ручным поиском нужно будет знать название закрытого ключа, чтобы выбрать его для установки

Мы рекомендуем использовать функцию КриптоПро «найти контейнер автоматически» или указать его вручную через «обзор»

Самый простой вариант выбрать автоматический поиск, затем после «обнаружения» необходимого контейнера, мы увидим заполненную строчку с его именем и после жмём «Далее»

после того, как указан контейнер, можно продолжить установку

Личный сертификат пользователя всегда устанавливается в хранилище «Личное», можно выбрать как вручную, так и КриптоПро может сделать это за вас по умолчанию, затем подтверждаем установку цепочки сертификатов и жмём «Далее»

Важно! Не забудьте поставить галку в настройках КриптоПро «установить сертификат (цепочку сертификатов) в контейнер

>

В случае успешной установки КриптоПро выдаст окно с информацией об окончании процедуры и жмём «Готово»

Можно завершать установку сетификата

Затем появится окно с подтверждением данной операции, жмём «ДА»

Криптопро предложит перезаписать сертификат – соглашаемся

В следующем окне увидим информацию о том, что процесс окончен успешно. Сертификат установлен в контейнер закрытого ключа.

Готово. Сертификат установлен

Особенности версий КриптоПро

С января 2019 года квалифицированные сертификаты могут выпускаться только по ГОСТ 2012, выпуск по другому ГОСТу прекращен. Мы об этом писали ранее в статье. Важно помнить, что версии криптопро на ГОСТ 2012 работают только с версии 4.0 и выше. Все старые версии КриптоПро, для нормальной работы, потребуется обновить или заменить на актуальную. Сделать это нужно не позднее 31 декабря 2019 года.

Работа с электронной подписью (ЭЦП) в Linux (Debian / Ubuntu)

Электронно-цифровая подпись (ЭЦП) давно уже стала неотъемлемой частью нашей жизни, позволяя удаленно взаимодействовать с органами власти, сдавать отчетность, участвовать в системах электронного документооборота (ЭДО). Все это стало особенно актуально в последнее время, когда сложная эпидемиологическая обстановка внесла серьезные коррективы в рабочий процесс, сделав упор на дистанционные технологии. Особый интерес работа с ЭЦП вызывает у пользователей Linux, действительно, данная тема пока не нашла широкого отражения, поэтому постараемся восполнить этот пробел.

Начнем с того, что в техническом плане представляет электронно-цифровая подпись, а говоря об ЭДО и взаимодействии с государственными органами под этим термином мы будем иметь ввиду усиленную квалифицированную электронную подпись, которая выдается аккредитованным удостоверяющим центром и приравнивается к "живой" подписи.

ЭЦП состоит из двух частей: закрытого и открытого ключей. Закрытый ключ (часто просто "ключ") является секретным, его утрата ведет к полной компрометации подписи, так как завладевшее им лицо имеет возможность подписывать любые документы от имени владельца ЭЦП. Открытый ключ, вместе с некоторыми сведениями о владельце ключа оформляется в виде сертификата. Он не является секретным и используется для аутентификации владельца ЭЦП на многих ресурсах, а также для проверки подписи, сделанной закрытым ключом.

Среди обычных пользователей ЭЦП называется "сертификатом", но если вы являетесь специалистом, то должны различать и понимать разницу между составляющими частями ЭЦП и не путать закрытый и открытый ключ (сертификат). Сертификаты хранятся в системном хранилище ОС, а вот для хранения закрытых ключей есть варианты:

  • Токен - аппаратное устройство для хранения ключей, чаще всего без возможности их экспорта, является наиболее безопасным способом хранения, угрозу представляет только физическая утеря ключа.
  • Съемный носитель - обычно флеш-карта на которой расположен контейнер закрытого ключа, менее безопасный способ, так как ключ может быть легко скопирован физически.
  • Реестр или жесткий диск - самый небезопасный способ, но в тоже время самый удобный, особенно когда нужно работать с большим количеством ЭЦП, вполне приемлем на доверенных устройствах, но требует более серьезного подхода в разграничении прав доступа.

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

Второй вопрос - браузеры. Так повелось, что основная разработка средств электронной подписи ориентируется на браузеры на основе WebKit, поэтому мы рекомендуем использовать для работы Google Chrome, для используемого по умолчанию Firefox мы так и не смогли нормально настроить работу с отечественной криптографией. Также можно использовать Яндекс.Браузер или Спутник, хотя последний может нестабильно работать в последних выпусках Linux, например, в Xubuntu 20.04.

e-sign-linux-001.jpg

На этом, пожалуй, закончим вводную часть и перейдем к практическим примерам.

Госуслуги

Основной по своей значимости портал для взаимодействия с государственными органами. Для входа на Госуслуги в Linux можно использовать только аппаратные ключи (токены), криптопровайдеры не поддерживаются. Поэтому если вам нужны только Госуслуги, то Крипто-Про вам устанавливать не нужно. Для работы с Госуслугами вам потребуется IFCPlugin, который можно загрузить со следующей страницы, на нее же вы будете перенаправлены автоматически при попытке входа с помощью электронной подписи без установленного плагина.

e-sign-linux-002.jpg

Система корректно распознает текущую ОС и автоматически предлагает к скачиванию нужную версию плагина в виде DEB-пакета. Но не будем спешить с его установкой, для работы с токенами нам потребуется установить дополнительные библиотеки, в частности pcscd:

Если вы используете токены, то мы рекомендуем установить данную библиотеку вне зависимости от того, будете ли вы использовать Госуслуги или нет, она вам потребуется для работы с аппаратным ключом.

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

Перезапустите браузер и снова попробуйте войти на портал Госуслуг, в этот раз все должно увенчаться успехом.

e-sign-linux-003.jpg

Установка Крипто-Про

Крипто-Про самый распространенный и популярный отечественный криптопровайдер. Это коммерческое ПО и для установки вам понадобится серийный номер, без него будет активирована триальная версия на три месяца. Обычно лицензия на Крипто-Про выдается вместе с ЭЦП, либо использующим его ПО (например, система сдачи отчетности), поэтому если вы затрудняетесь найти лицензию, то обратитесь к своему поставщику ЭЦП.

Теперь пару слов о ключах, если они располагаются на токене или флеш-карте, то ничего делать не надо, а вот если они находятся в реестре, то их нужно скопировать на переносной носитель (флешку). Для этого откройте Крипто-Про и перейдите на вкладку Сервис, в разделе Контейнер закрытого ключа нажмите Скопировать и в открывшемся окне выберите нужный контейнер из реестра.

e-sign-linux-004.jpg

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

e-sign-linux-005.jpg

На этом подготовительные моменты закончились и перейдем непосредственно к установке Крипто-Про в среде Linux. Прежде всего нам потребуется получить дистрибутив, это не такая простая задача, как кажется на первый взгляд, проще всего это сделать с главной страницы официального сайта, нажав на ссылку в правой колонке.

e-sign-linux-006.jpg

В этом случае вам не потребуется полноценной регистрации, достаточно будет заполнить несколько полей, сайт корректно определяет ОС клиента и сразу предлагает скачать нужный пакет, обратите внимание, что Крипто-Про для Linux поддерживает только 64-разрядные системы.

e-sign-linux-007.jpg

Распакуйте полученный архив в любое удобное место и перейдите в терминал, этом можно сделать, кликнув правой кнопкой мыши в любом свободном месте и выбрав Открыть терминал.

И запустим установку Крипто-Про командой:

Продукт имеет текстовый установщик, который последовательно проведет вас по всем этапам. Набор установки по умолчанию следует дополнить пунктом Поддержка токенов и смарт-карт, также у вас должна быть установлена библиотека pcscd.

e-sign-linux-009.jpg

При отсутствии лицензионного ключа этап его ввода можно пропустить, впоследствии, для активации лицензии потребуется запустить программу установки еще раз.

После успешной установки запустите графическое приложение Инструменты КриптоПро, при старте оно автоматически находит и отображает все доступные контейнеры, и вы сразу можете выполнить необходимые действия, например, установить сертификат в системное хранилище ОС.

e-sign-linux-010.jpg

Альтернативой хранения ключей на флешке может быть размещение контейнеров на жестком диске, для этого нажмите Скопировать контейнер и выберите в качестве носителя Directory:

e-sign-linux-011.jpg

На этом установку Крипто-Про можно считать законченной.

Установка КриптоПро ЭЦП Browser plug-in

Но одного криптопровайдера нам будет недостаточно, для работы с ЭЦП на различных государственных порталах нам потребуется плагин для поддержки со стороны браузера, его можно скачать на следующей странице. Распакуем полученный архив в удобное место, он содержит по три пакета для DEB и RPM-систем. Для установки выполним в терминале с правами суперпользователя:

e-sign-linux-012.jpg

Затем перезапустим браузер и проверим работу плагина. Для этого нажмите на значок плагина на панели браузера и выберите в выпадающем меню Проверить работу плагина, если все сделано правильно вы увидите следующую страницу:

e-sign-linux-013.jpg

Теперь вы можете использовать Крипто-Про для входа по ЭЦП на сайты, поддерживающие работу с данным криптопровадером.

Для примера рассмотрим наиболее часто встречающуюся задачу переноса контейнера закрытого ключа из операционной системы Windows под Linux или OS X.

Если в операционной системе Windows сертификат и закрытый ключ могут находится в локальном хранилище Crypto API, то для работы под операционными системами Linux или OS X его нужно импортировать в специальное системное хранилище.



Важно, чтобы у закрытого ключа должен быть установлен флаг «Экспортируемый»


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

В операционной системе Windows скопировать контейнер закрытого ключа можно следующим образом:

  1. Откройте приложение КриптоПро CSP и перейдите на вкладку Сервис.
  2. На вкладке выберите команду Скопировать контейнер закрытого ключа.
  3. Введите пароль для ключевого контейнера и задайте имя ключевого контейнера (например, test).
  4. Сохраните контейнер на диск или флешку.
  5. После этого откройте диалог Сертификаты (должна запуститься консоль MMC), перейдите в раздел Личное, Реестр, Сертификаты и экспортируйте сертификат без закрытого ключа с помощью мастера. Сохраните его в файл (например, test.cer).
  1. Скопируйте контейнер закрытого ключа (директорию /test/ в формате 8.3) и файл сертификата (test.cer) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя.
  2. При этом необходимо проследить чтобы: владельцем файлов был пользователь, в директории с именем которого расположен контейнер (от его имени будет осуществляться работа с ключами); на директорию с ключами были выставлены права, разрешающие владельцу всё, остальным ничего; на файлы были выставлены права, разрешающие владельцу по крайней мере чтение и запись, остальным ничего.

PrivateKey Link: Yes. Container: HDIMAGE\\test.000\.

В приведенных выше командах подразумевается один из следующих идентификаторов платформы: ia32 - для 32-разрядных систем Linux; amd64 - для 64- разрядных систем Linux; не указывается - для OS X.

Читайте также: