Квалифицированная электронная подпись под macOS / Хабр

Квалифицированная электронная подпись под macOS / Хабр ЭЦП

Что делать, если перестало работать

  1. Переподключаем usb-токен и проверяем что он виден с помощью команды в terminal:

    sudo /opt/cprocsp/bin/csptest -card -enum

  2. Очищаем кеш браузера за все время, для чего в адресной строке Chromium-Gost набираем:

    
chrome://settings/clearBrowserData


  3. Переустанавливаем сертификат КЭП с помощью команды в terminal:

    /opt/cprocsp/bin/csptestf -absorb -certs

  4. Если команды Cryptopro не отрабатывают (csptest и csptestf превратились в corrupted) – нужно переустановить Cryptopro.

Что нужно для работы с кэп под macos:

  1. КЭП на USB-токене Рутокен Lite или Рутокен ЭЦП
  2. криптоконтейнер в формате КриптоПро
  3. со встроенной лицензией на КриптоПро CSP
  4. открытый сертификат должен храниться в контейнере закрытого ключа

Поддержка 
eToken и JaCarta в связке с КриптоПро под macOS под вопросом. Носитель Рутокен Lite – оптимальный выбор, стоит недорого, шустро работает и позволяет хранить до 15 ключей.

Криптопровайдеры VipNet, Signal-COM и ЛИССИ в macOS не поддерживаются. Преобразовать контейнеры никак не получится. КриптоПро – оптимальный выбор, стоимость сертификата в себестоимости от 500= руб. Можно выпустить сертификат с встроенной лицензией на КриптоПро CSP, это удобно и выгодно. 
Если лицензия не зашита, то необходимо купить и активировать полноценную лицензию на КриптоПро CSP.

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

Описание принципов работы плагина

КриптоПро ЭЦП Browser plug-in легко встраивается и применим в любом из современных браузеров с поддержкой сценариев JavaScript:

Поддерживаемые операционные системы:

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

С точки зрения бизнес-функций, плагин позволяет использовать ЭП:

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

КриптоПро ЭЦП Browser plug-in позволяет создавать и проверять как обычную электронную подпись, так и усовершенствованную электронную подпись. Поскольку плагин является частью стандарта применения усовершенствованной электронной цифровой подписи, автоматически решаются задачи:

Создание и проверка подписи происходят на стороне пользователя. При создании подписи с помощью КриптоПро ЭЦП Browser plug-in, электронная подпись может быть либо добавлена к подписываемым данным (присоединенная ЭП), либо создана отдельно (отделенная ЭП).

КриптоПро ЭЦП Browser plug-in распространяется бесплатно (лицензионное соглашение).

Выясняем название контейнера КЭП

На usb-токене и в других хранилищах может храниться несколько сертификатов, и нужно выбрать правильный. При вставленном usb-токене получаем список всех контейнеров в системе командой в terminal:

/opt/cprocsp/bin/csptest -keyset -enum_cont -fqcn -verifycontext

Команда должна вывести минимум 1 контейнер и вернуть

[ErrorCode: 0x00000000]

Нужный нам контейнер имеет вид

.Aktiv Rutoken liteXXXXXXXX

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

Выясняем хэш сертификата КЭП

На токене и в других хранилищах может быть несколько сертификатов. Нужно однозначно идентифицировать тот, которым будем впредь подписывать документы. Делается один раз.Токен должен быть вставлен. Получаем список сертификатов в хранилищах командой из terminal:

/opt/cprocsp/bin/certmgr -list

Команда должна вывести минимум 1 сертификат вида:

Подпись файла командой из terminal

В terminal переходим в каталог с файлом для подписания и выполняем команду:

/opt/cprocsp/bin/cryptcp -signf -detach -cert -der -strict -thumbprint ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ FILE

где ХХХХ… – хэш сертификата, полученный на шаге 1, а FILE – имя файла для подписания (со всеми расширениями, но без пути).

Команда должна вернуть:

Signed message is created.
[ErrorCode: 0x00000000]

Будет создан файл электронной подписи с расширением *.sgn – это отсоединенная подпись в формате CMS с кодировкой DER.

Смена PIN командой из terminal

/opt/cprocsp/bin/csptest -passwd -qchange -container "XXXXXXXX"

где XXXXXXXX – название контейнера, полученное на шаге 1 (обязательно в кавычках).

Появится диалог КриптоПро с запросом старого PIN-кода для доступа к сертификату, затем еще один диалог для ввода нового PIN-кода. Готово.

1. Удаляем все старые ГОСТовские сертификаты

Если ранее были попытки запустить КЭП под macOS, то необходимо почистить все ранее установленные сертификаты. Данные команды в terminal удалят только сертификаты КриптоПро и не затронут обычные сертификаты из Keychain в macOS.

sudo /opt/cprocsp/bin/certmgr -delete -all -store mroot
sudo /opt/cprocsp/bin/certmgr -delete -all -store uroot
/opt/cprocsp/bin/certmgr -delete -all

В ответе каждой команды должно быть:

No certificate matching the criteria

или

Deleting complete

2. Устанавливаем корневые сертификаты

Корневые сертификаты являются общими для всех КЭП, выданных любым удостоверяющим центром. Скачиваем со страницы загрузок УФО Минкомсвязи:

Устанавливаем командами в terminal:

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/4BC6DC14D97010C41A26E058AD851F81C842415A.cer
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/8CAE88BBFD404A7A53630864F9033606E1DC45E2.cer
sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/0408435EB90E5C8796A160E69E4BFAC453435D1D.cer

Каждая команда должна возвращать:

Installing:

[ErrorCode: 0x00000000]

3. Скачиваем сертификаты удостоверяющего центра

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

4. Устанавливаем сертификат с Рутокен

Команда в terminal:

/opt/cprocsp/bin/csptestf -absorb -certs

Команда должна вернуть:

OK.
[ErrorCode: 0x00000000]

4. Активируем расширения

Запускаем браузер Chromium-Gost и в адресной строке набираем:

chrome://extensions/

Включаем оба установленных расширения:

5. Настраиваем расширение КриптоПро ЭЦП Browser plug-in

В адресной строке Chromium-Gost набираем:

/etc/opt/cprocsp/trusted_sites.html

На появившейся странице в список доверенных узлов по-очереди добавляем сайты:

1. Заходим на тестовую страницу КриптоПро

В адресной строке Chromium-Gost набираем:

3. Заходим на Госуслуги

При авторизации выбираем «Вход с помощью электронной подписи». В появившемся списке «Выбор сертификата ключа проверки электронной подписи» будут отображены все сертификаты, включая корневые и УЦ, нужно выбрать ваш с usb-токена и ввести PIN.

Как установить «криптопро» эцп browser plug-in

Установку плагина начнем со скачивания нужного нам файла с официального сайта разработчика.

Запускаем скачанный файл (рис.17).

Начинается стандартная установка, жмем далее и подтверждаем установку паролем от компьютера (рис. 18, 19,
20).

Заходим в настройки браузера Safari и включаем плагин установив напротив него галочку (рис.21).

Подтверждаем действие (рис.22).

В браузере Chrome: запустите браузер и дождитесь оповещения об установленном расширении «CryptoPro Extension
for CAdES Browser Plug-in». Включите это расширение. Если на вашем компьютере ранее уже выполнялась
установка расширения CryptoPro Extension for CAdES Browser Plug-in, а потом оно был удалено или вы
используете Chromium Edge, его потребуется установить отдельно. Для этого установите расширение из
интернет-магазина Chrome.

Перезапускаем браузер. Готово. Теперь ваш «КриптоПро CSP» будет виден через браузер Safari или Chrome, можно
будет на различных сайтах использовать ваш ключ электронной подписи.

На официальном сайте разработчика «КриптоПро» можно проверить правильность установки криптопровайдера и
патча. Для этого в открывшемся окне подтвердите доступ путем нажатия кнопки «Ок» (рис.23)

После проверки напротив каждого пункта должен стоять зеленый кружок, означающий, что все настроено правильно
(рис.24).

Готово! Установку можно считать завешенной.

Подпись файлов в macos

В macOS файлы можно подписывать в ПО КриптоАрм (стоимость лицензии 2500= руб.), или несложной командой через terminal – бесплатно.

Смена pin-кода контейнера

Пользовательский PIN-код на Рутокен по-умолчанию 12345678, и оставлять его в таком виде никак нельзя. Требования к PIN-коду Рутокен: 16 символов max., может содержать латинские буквы и цифры.

Подведем итоги

Мы изучили возможность установки криптопровадера «КриптоПро CSP» и патча для браузеров в операционной системе
macOS. При возникновении любых вопросов или сложностей обращайтесь к специалистам «1С-Архитектора бизнеса» с
помощью формы ниже.

Оцените статью
ЭЦП64
Добавить комментарий