- Что делать, если перестало работать
- Что нужно для работы с кэп под macos:
- Выясняем название контейнера КЭП
- Выясняем хэш сертификата КЭП
- Подпись файла командой из terminal
- Смена PIN командой из terminal
- 1. Удаляем все старые ГОСТовские сертификаты
- 2. Устанавливаем корневые сертификаты
- 3. Скачиваем сертификаты удостоверяющего центра
- 4. Устанавливаем сертификат с Рутокен
- 4. Активируем расширения
- 5. Настраиваем расширение КриптоПро ЭЦП Browser plug-in
- 1. Заходим на тестовую страницу КриптоПро
- 3. Заходим на Госуслуги
- Не работает: err_failed (macos) · issue #8 · deemru/chromium-gost
- Подпись файлов в macos
- Смена pin-кода контейнера
Что делать, если перестало работать
Переподключаем usb-токен и проверяем что он виден с помощью команды в terminal:
sudo /opt/cprocsp/bin/csptest -card -enum
Очищаем кеш браузера за все время, для чего в адресной строке Chromium-Gost набираем:
chrome://settings/clearBrowserData
Переустанавливаем сертификат КЭП с помощью команды в terminal:
/opt/cprocsp/bin/csptestf -absorb -certs
Если команды Cryptopro не отрабатывают (csptest и csptestf превратились в corrupted) – нужно переустановить Cryptopro.
Что нужно для работы с кэп под macos:
- КЭП на USB-токене Рутокен Lite или Рутокен ЭЦП
- криптоконтейнер в формате КриптоПро
- со встроенной лицензией на КриптоПро CSP
- открытый сертификат должен храниться в контейнере закрытого ключа
Поддержка eToken и JaCarta в связке с КриптоПро под macOS под вопросом. Носитель Рутокен Lite – оптимальный выбор, стоит недорого, шустро работает и позволяет хранить до 15 ключей.
Криптопровайдеры VipNet, Signal-COM и ЛИССИ в macOS не поддерживаются. Преобразовать контейнеры никак не получится. КриптоПро – оптимальный выбор, стоимость сертификата в себестоимости от 500= руб. Можно выпустить сертификат с встроенной лицензией на КриптоПро CSP, это удобно и выгодно. Если лицензия не зашита, то необходимо купить и активировать полноценную лицензию на КриптоПро CSP.
Обычно открытый сертификат хранится в контейнере закрытого ключа, но это нужно уточнить при выпуске КЭП и попросить сделать как нужно. Если не получается, то импортировать открытый ключ в закрытый контейнер можно самостоятельно средствами КриптоПро CSP под Windows.
Выясняем название контейнера КЭП
На 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.
Не работает: err_failed (macos) · issue #8 · deemru/chromium-gost
Подпись файлов в macos
В macOS файлы можно подписывать в ПО КриптоАрм (стоимость лицензии 2500= руб.), или несложной командой через terminal – бесплатно.
Смена pin-кода контейнера
Пользовательский PIN-код на Рутокен по-умолчанию 12345678, и оставлять его в таком виде никак нельзя. Требования к PIN-коду Рутокен: 16 символов max., может содержать латинские буквы и цифры.
Добрый день
Пытаюсь заставить это всё работать, но не получается по совершенно непонятным причинам. Код ошибки в браузере, которую получаю при попытке попасть на любой из сайтов, который работает только по ГОСТ —
ERR_FAILED
. Обычный браузер говоритERR_SSL_VERSION_OR_CIPHER_MISMATCH
, что наводит на мысли, что ГОСТ таки включается, но дальше что-то идёт не так.КриптоПРО плагин работают нормально, проверку прохожу успешно. Пункты для работы на nalog.ru из инструкции тоже выполнены.
Прикладываю следующие логи (v1):
Логи почитал и ничего дельного в них не увидел, может вам будет яснее, ну или посоветуете что-нибудь.
Спасибо
macOS 10.14.6 (18G103)
Chromium GOST Version 78.0.3904.87 (Official Build) (64-bit) (пробовал также 77)
CryptoPro Extension for CAdES Browser Plug-in 1.2.7
CryptoPro CSP 5.0.11455 (пробовал также 4R4)