Браузер не видит сертификат электронной подписи linux

Браузер не видит сертификат электронной подписи linux

Рассматриваемая конфигурация:

  • один из поддерживаемых КриптоПро CSP дистрибутивов Linux (x86, x64)
  • КриптоПро CSP 4.0 R4 = 4.0.9963 (необходимо использовать КриптоПро CSP 4.0 не ниже сборки 4.0.9963 или Криптопро CSP 5.0 не ниже сборки 5.0.11319)
  • плагин для работы с порталом государственных услуг (IFCPlugin)
  • ключевой контейнер с соответствующим квалифицированным сертификатом внутри
  • один из браузеров (рекомендуется использовать последнюю доступную версию):
    • Chromium
    • Google Chrome (только x64)
    • Спутник (только x64)
    • Chromium GOST (только x64)
    • Яндекс.Браузер (только x64)
    • Mozilla Firefox

Порядок настройки:

1) Установить основные пакеты КриптоПро CSP 4.0 R4 ( x86-rpm , x86-deb , x64-rpm , x64-deb ) запуском скрипта install.sh,

пакеты lsb-cprocsp-pkcs11, cprocsp-rdr-gui-gtk и

необходимые пакеты для поддержки используемых ключевых носителей из состава дистрибутива КриптоПро CSP (если эти пакеты не установлены):

Ключевой носитель Дополнительные необходимые пакеты
флеш-накопитель, жесткий диск
смарт-карты (например, ОСКАР, Магистра) cprocsp-rdr-pcsc
Рутокен Lite cprocsp-rdr-pcsc, cprocsp-rdr-rutoken
Рутокен S cprocsp-rdr-pcsc, cprocsp-rdr-rutoken, ifd-rutokens
ESMART token cprocsp-rdr-pcsc, cprocsp-rdr-esmart
eToken, JaCarta cprocsp-rdr-pcsc, cprocsp-rdr-jacarta
. .

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

2) Установить плагин для работы с порталом государственных услуг (IFCPlugin) ( x86-rpm , x86-deb , x64-rpm , x64-deb ) (если он не установлен).

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

3) Загрузить файл конфигурации для IFCPlugin ( x86 , x64) в домашнюю директорию текущего пользователя.

4) Подключить ключевой носитель (флеш-накопитель, Рутокен, ESMART token и т.д.).

5) Выполнить в терминале команды:

6) Для Chromium/Спутник/Яндекс.Браузер также необходимо выполнить в терминале команду:

7) Проверить в используемом браузере, что включено расширение — Расширение для плагина Госуслуг.

Расширение для Mozilla Firefox (установить можно открытием ссылки в Firefox или перетаскиванием файла раширения в окно Firefox).

8) На странице входа на портал Госуслуг:

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

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

Работа с электронной подписью (ЭЦП) в 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-систем. Для установки выполним в терминале с правами суперпользователя:

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

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

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Как я настраивал новые утилиты по работе с электронной подписью в Linux

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

Читайте также:  Dd linux посмотреть прогресс

Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».

«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.

Для настройки нам понадобится:

  • Любимый дистрибутив Linux. Я использовал Ubuntu Linux 16.04 LTS и ROSA Fresh GNOME R8;
  • Сертифицированная версия КриптоПро CSP 4.0 R2 для Windows, UNIX и macOS;
  • Рутокен ЭЦП 2.0.

Настройка «КриптоПро» CSP

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

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

Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads

Распаковываем «КриптоПро CSP» для Linux:

Далее у нас есть 2 варианта – автоматическая установка и установка вручную. Автоматическая установка запускается командой:

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

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

Для установки пакетов в ROSA используйте urpmi, вместо dpkg -i.

Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:

Мы должны получить что-то вроде:

Настройка работы с Рутокен ЭЦП 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало. Я буду использовать Рутокен ЭЦП 2.0, который имеет сертификат ФСБ и поддерживает работу как с новыми, так и со старыми ГОСТами.

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

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

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

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

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

Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.

Проверим, что сертификат получен успешно.

Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:

Мы должны получить что-то вроде:

Теперь проверяем, что сертификат на токене видится успешно:

Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:

Проверим, что сертификат успешно сохранился в хранилище:

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

Подпись средствами «КриптоПро CSP»

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

  • Отсутствие хорошей документации;
  • Отсутствие графического интерфейса.

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

Здесь,
my — параметр, в котором надо указать часть Common Name сертификата для подписи;
detached — позволяет создать открепленную подпись;
alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Читайте также:  Активация windows по телефону код активации

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

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

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

Rosa Crypto Tool

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

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2016 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2. Сейчас утилита поддерживает работу только с «КриптоПро CSP» для Linux, однако в ближайшее время будет добавлена поддержка других криптопровайдеров.

Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.

Установить ее можно, использовав «Управление программами» в Rosa Linux.

Вставляем токен и запускаем утилиту.

Видим, что токен определился успешно и был найден наш сертификат.

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

Выбираем файл и жмем “Подписать файл”. Получаем вот такое предупреждение.

Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.

Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.

По сравнению с использованием «КриптоПро CSP» из консоли:

+ На порядок проще использовать;
— Отсутствуют различные параметры подписи.

Исходный код программы доступен в публичном репозитории на ABF:
abf.io/uxteam/rosa-crypto-tool-devel
Система контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.

Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.

Trusted eSign

Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».

Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.

Найти продукт на сайтах компании “Цифровые технологии” непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133

К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.

Скачиваем с официального сайта deb-пакет и устанавливаем командой:

Запускаем Trusted eSign.

Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. “Цифровые технологии” опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.

Но вернемся к подписи.

Выбираем раздел “Электронная подпись”:

Выбираем «Сертификат для подписи»:

Выбираем файлы для подписи и жмем «Подписать»:

Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.

Сравним Trusted eSign с Rosa crypto tool:

+ Более удобный и красивый интерфейс
— Платная лицензия

Резюме

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

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

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

Источник

Оцените статью