Кваліфікований електронний підпис під macOS

Кваліфікований електронний підпис під macOS

За даними РБК и ТензорУ 2019 році в Росії буде видано 4,6 млн. сертифікатів кваліфікованих електронних підписів (КЕП), що відповідають вимогам 63-ФЗ. Виходить, що з 8 млн. зареєстрованих ІП та ТОВ кожен другий підприємець користується електронним підписом. Крім КЕП для ЄДАІС та хмарних КЕП для подання звітності, що видаються банками та бухгалтерськими сервісами, особливий інтерес представляють універсальні КЕП на захищених токенах. Такі сертифікати дозволяють логінуватися на держ.портали та підписувати будь-які документи, роблячи їх юридично значущими.

Завдяки сертифікату КЕП на USB-токені можна віддалено укласти договір із контрагентом чи дистанційним співробітником, направити документи до суду; зареєструвати онлайн-касу, врегулювати заборгованість із податків та подати декларацію в особистому кабінеті на nalog.ru; дізнатися про заборгованості та майбутні перевірки на Держпослугах.

Поданий нижче мануал допоможе працювати з КЕП під macOS – без вивчення форумів КриптоПро та встановлення віртуальної машини з Windows.


Зміст

Що потрібно для роботи з КЕП під macOS:

Встановлюємо та налаштовуємо КЕП під macOS

  1. Встановлюємо КриптоПро CSP
  2. Встановлюємо драйвери для Рутокен
  3. Встановлюємо сертифікати
    3.1. Видаляємо всі старі ГОСТівські сертифікати
    3.2. Встановлюємо кореневі сертифікати
    3.3. Завантажуємо сертифікати посвідчувального центру
    3.4. Встановлюємо сертифікат із Рутокен
  4. Встановлюємо спеціальний браузер Chromium-GOST
  5. Встановлюємо розширення для браузера
    5.1 КриптоПро ЕЦП Browser plug-in
    5.2. Плагін для Держпослуг
    5.3. Налаштовуємо плагін для Держпослуг
    5.4. Активуємо розширення
    5.5. Налаштовуємо розширення КриптоПро ЕЦП Browser plug-in
  6. Перевіряємо, що все працює
    6.1. Заходимо на тестову сторінку КриптоПро
    6.2. Заходимо до Особистого Кабінету на nalog.ru
    6.3. Заходимо на Держпослуги
  7. Що робити, якщо перестало працювати

Зміна PIN-коду контейнера

  1. З'ясовуємо назву контейнера КЕП
  2. Зміна PIN командою з terminal

Підпис файлів у macOS

  1. З'ясовуємо хеш сертифіката КЕП
  2. Підпис файлу командою з terminal
  3. Установка Apple Automator Script

Перевірити підпис на документі

Вся інформація нижче отримана з авторитетних джерел (КриптоПро #1 и #2, Рутокен, Корус-Консалтинг, УФО Мінкомзв'язку), а завантажувати програмне забезпечення пропонується з довірених сайтів. Автор є незалежним консультантом і не пов'язаний з жодною зі згаданих компаній. Дотримуючись цієї інструкції, всю відповідальність за будь-які дії та наслідки ви приймаєте на себе.

Що потрібно для роботи з КЕП під macOS:

  1. КЕП на USB-токені Рутокен Lite або Рутокен ЕЦП
  2. криптоконтейнер у форматі КриптоПро
  3. з вбудованою ліцензією на КриптоПро CSP

Носії eToken та JaCarta у зв'язці з КриптоПро під macOS не підтримуються. Носій Рутокен Lite - оптимальний вибір, коштує 500..1000 = руб., Швидко працює і дозволяє зберігати до 15 ключів.

Криптопровайдери VipNet, Signal-COM та ЛІССІ в macOS не підтримуються. Перетворити контейнери не вдасться. КриптоПро - оптимальний вибір, вартість сертифіката повинна бути близько 1300 = руб. для ІП та 1600 = руб. для ЮЛ.

Зазвичай річну ліцензію на КриптоПро CSP вже зашито в сертифікат і багатьма УЦ надається безкоштовно. Якщо це не так, то необхідно купити та активувати безстрокову ліцензію на КриптоПро CSP строго версії 4 вартістю 2700=. КриптоПро CSP версії 5 під macOS зараз не працює.

Встановлюємо та налаштовуємо КЕП під macOS

Очевидні речі

  • всі файли, що завантажуються, завантажуються в каталог за замовчуванням: ~/Downloads/;
  • у всіх установниках нічого не міняємо, все залишаємо за замовчуванням;
  • якщо macOS виводить попередження, що програмне забезпечення від невстановленого розробника – потрібно підтвердити запуск у системних налаштуваннях: System Preferences -> Security & Privacy -> Open Anyway;
  • Якщо macOS запитує пароль користувача та дозвіл на керування комп'ютером, потрібно ввести пароль і погодитися з усім.

1. Встановлюємо КриптоПро CSP

реєструємося на сайті КриптоПро та зі сторінки завантажень завантажуємо та встановлюємо версію КриптоПро CSP 4.0 R4 для MacOS - завантажити.

2. Встановлюємо драйвери Рутокен

На сайті написано, що це опціонально, але краще поставити. З сторінки завантажень на сайті Рутокен завантажуємо та встановлюємо Модуль підтримки Зв'язки Ключів (KeyChain) - завантажити.

Далі підключаємо usb-токен, запускаємо terminal і виконуємо команду:

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

У відповіді має бути:

Aktiv Rutoken…
Card present…
[ErrorCode: 0x00000000]

3. Встановлюємо сертифікати

3.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

3.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

Кожна команда має повертати:

Установка:
...
[ErrorCode: 0x00000000]

3.3. Завантажуємо сертифікати посвідчувального центру

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

Альтернативно, сертифікати будь-якого УЦ можна завантажити з сайту УФО Мінкомзв'язку. Для цього у формі пошуку потрібно знайти УЦ за назвою, перейти на сторінку із сертифікатами та скачати все діючі сертифікати – тобто ті, які мають у полі 'Діє' друга дата ще не настала. Завантажувати посилання з поля 'Відбиток'.

Скріншоти

Кваліфікований електронний підпис під macOS

Кваліфікований електронний підпис під macOS

На прикладі УЦ Корус-Консалтинг: потрібно завантажити 4 сертифікати з сторінки завантажень:

Завантажені сертифікати УЦ встановлюємо командами з terminal:

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/B9F1D3F78971D48C34AA73786CDCD138477FEE3F.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/55EC48193B6716D38E80BD9D1D2D827BC8A07DE3.cer

sudo /opt/cprocsp/bin/certmgr -inst -store mroot -f ~/Downloads/15EB064ABCB96C5AFCE22B9FEA52A1964637D101.cer

де після ~/Завантаження/ йдуть імена завантажених файлів, для кожного УЦ вони будуть свої.

Кожна команда має повертати:

Установка:
...
[ErrorCode: 0x00000000]

3.4. Встановлюємо сертифікат із Рутокен

Команда в terminal:

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

Команда має повернути:

ОК.
[ErrorCode: 0x00000000]

4. Встановлюємо спеціальний браузер Chromium-GOST

Для роботи з держ.порталами буде потрібно спеціальне складання браузера сhromium – Chromium-GOST. Вихідний код проекту відкритий, посилання на репозиторій на GitHub наводиться на сайті КриптоПро. За досвідом, інші браузери CryptoFox и Яндекс.Браузер для роботи з держпорталами під macOS не годяться. Варто врахувати, що в деяких збірках Chromium-GOST особистий кабінет на nalog.ru може підвисати або взагалі перестає працювати скролл, тому пропонується стара перевірена збірка 71.0.3578.98 - завантажити.


Завантажуємо та розпаковуємо архів, встановлюємо браузер копіюванням або drag&drop у каталог Applications. Після установки Примусово закриваємо Chromium і доки не відкриваємо, працюємо із Safari.

killall Chromium-Gost

5. Встановлюємо розширення для браузера

5.1 КриптоПро ЕЦП Browser plug-in

Зі сторінки завантажень на сайті КриптоПро завантажуємо та встановлюємо КриптоПро ЕЦП Browser plug-in версія 2.0 для користувачів - завантажити.

5.2. Плагін для Держпослуг

Зі сторінки завантажень на порталі Держпослуг завантажуємо та встановлюємо Плагін для роботи з порталом державних послуг (версія для macOS) - завантажити.

5.3. Налаштовуємо плагін для Держпослуг

Завантажуємо коректний конфігураційний файл для розширення Держпослуг із сайту КриптоПро – завантажити.

Виконуємо команди в terminal:

sudo rm /Library/Internet Plug-Ins/IFCPlugin.plugin/Contents/ifc.cfg

sudo cp ~/Downloads/ifc.cfg /Library/Internet Plug-Ins/IFCPlugin.plugin/Contents


sudo cp /Library/Google/Chrome/NativeMessagingHosts/ru.rtlabs.ifcplugin.json /Library/Application Support/Chromium/NativeMessagingHosts

5.4. Активуємо розширення

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

chrome://extensions/

Включаємо обидва встановлені розширення:

  • CryptoPro Extension for CAdES Browser Plug-in
  • Розширення для плагіна Держпослуг

Скріншот

Кваліфікований електронний підпис під macOS

5.5. Налаштовуємо розширення КриптоПро ЕЦП Browser plug-in

В адресному рядку Chromium-Gost набираємо:

/etc/opt/cprocsp/trusted_sites.html

На сторінці, що з'явилася в список довірених вузлів по-черзі додаємо сайти:

https://*.cryptopro.ru
https://*.nalog.ru
https://*.gosuslugi.ru

Тиснемо "Зберегти". Повинна з'явитися зелена плашка:

Список довірених вузлів успішно збережено.

Скріншот

Кваліфікований електронний підпис під macOS

6. Перевіряємо, що все працює

6.1. Заходимо на тестову сторінку КриптоПро

В адресному рядку Chromium-Gost набираємо:

https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html

Повинно виводитися "Плагін завантажений", а в списку нижче буде присутній ваш сертифікат.
Вибираємо сертифікат зі списку та тиснемо "Підписати". Запитатиме PIN-код сертифіката. У результаті має відобразитись

Підпис сформований успішно

Скріншот

Кваліфікований електронний підпис під macOS

6.2. Заходимо до Особистого Кабінету на nalog.ru

За посиланнями із сайту nalog.ru зайти може не вийти, т.к. не буде пройдено перевірки. Заходити потрібно за прямими посиланнями:

  • Особистий кабінет ІП: https://lkipgost.nalog.ru/lk
  • Особистий кабінет ЮЛ: https://lkul.nalog.ru

Скріншот

Кваліфікований електронний підпис під macOS

6.3. Заходимо на Держпослуги

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

Скріншот

Кваліфікований електронний підпис під macOS

Кваліфікований електронний підпис під macOS

7. Що робити, якщо перестало працювати

  1. Перепідключаємо usb-токен і перевіряємо, що він видно за допомогою команди в terminal:

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


  2. Очищаємо кеш браузера за весь час, навіщо в адресному рядку Chromium-Gost набираємо:

    
chrome://settings/clearBrowserData


  3. Встановлюємо сертифікат КЕП за допомогою команди в terminal:

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

Зміна PIN-коду контейнера

Користувальницький PIN-код на Рутокен за замовчуванням 12345678і залишати його в такому вигляді ніяк не можна. Вимоги до PIN-коду Рутокен: 16 символів max., може містити латинські літери та цифри.

1. З'ясовуємо назву контейнера КЕП

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

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

Команда повинна вивести щонайменше 1 контейнер і повернути

[ErrorCode: 0x00000000]

Потрібний нам контейнер має вигляд

.Aktiv Rutoken liteXXXXXXXX

Якщо таких контейнерів виводиться кілька - значить на токені записано кілька сертифікатів, і ви в курсі який вам потрібен. Значення XXXXXXXX після слеша потрібно скопіювати та підставити в команду нижче.

2. Зміна PIN командою з terminal

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

де XXXXXXXX - Назва контейнера, отримана на кроці 1 (обов'язково в лапках).

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

Скріншот

Кваліфікований електронний підпис під macOS

Підпис файлів у macOS

У macOS файли можна підписувати в ПЗ КриптоАрм (Вартість ліцензії 2500 = руб.), Або нескладною командою через terminal - безкоштовно.

1. З'ясовуємо хеш сертифіката КЕП

На токені та інших сховищах може бути кілька сертифікатів. Потрібно однозначно ідентифікувати той, яким надалі підписуватимемо документи. Робиться один раз.
Токен має бути вставлений. Отримуємо список сертифікатів у сховищах командою з terminal:

/opt/cprocsp/bin/certmgr -list

Команда повинна вивести щонайменше 1 сертифікат виду:

Certmgr 1.1 © "Crypto-Pro", 2007-2018.
program for managing certificates, CRLs and stores
= = = = = = = = = = = = = = = = = = = = =
1——-
емітент: [захищено електронною поштою],… CN=ТОВ КОРУС Консалтинг СНД…
Тема: [захищено електронною поштою],… CN=Захаров Сергій Анатолійович…
Serial: 0x0000000000000000000000000000000000
SHA1 Hash: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
...
Container: SCARDrutoken_lt_00000000 000 000
...
= = = = = = = = = = = = = = = = = = = = =
[ErrorCode: 0x00000000]

У потрібного нам сертифіката у параметрі Container має бути значення виду SCARDrutoken…. Якщо сертифікатів з такими значеннями декілька, то значить на токені записано кілька сертифікатів, і ви знаєте який саме вам потрібен. Значення параметра SHA1 Hash (40 символів) потрібно скопіювати та підставити в команду нижче.

2. Підпис файлу командою з terminal

У terminal переходимо до каталогу з файлом для підписання та виконуємо команду:

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

де ХХХХ… - хеш сертифіката, отриманий на кроці 1, а Фото - Ім'я файлу для підписання (з усіма розширеннями, але без шляху).

Команда має повернути:

Signed message is created.
[ErrorCode: 0x00000000]

Буде створено файл електронного підпису з розширенням *.sgn – це відключений підпис у форматі CMS із кодуванням DER.

3. Встановлення Apple Automator Script

Щоб щоразу не працювати з терміналом, можна один раз встановити Automator Script, за допомогою якого можна підписувати документи з контекстного меню Finder. Для цього завантажуємо архів – завантажити.

  1. Розпаковуємо архів 'Sign with CryptoPro.zip'
  2. запускаємо Automator
  3. Знаходимо та відкриваємо розпакований файл 'Sign with CryptoPro.workflow'
  4. У блоці Запустіть сценарій оболонки змінюємо текст ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ на значення параметра SHA1 Hash сертифіката КЕП, одержане вище.
  5. Зберігаємо скрипт: ⌘Command+S
  6. Запускаємо файл 'Sign with CryptoPro.workflow' та підтверджуємо встановлення.
  7. Ідемо до System Preferences -> Extensions -> Finder і перевіряємо, що Sign with CryptoPro quick action відзначено.
  8. У Finder викликаємо контекстне меню будь-якого файлу, та у розділі Швидкі дії і / або Послуги вибрати пункт Sign with CryptoPro
  9. У діалозі КриптоПро, що з'явився, ввести PIN-код користувача від КЕП
  10. У поточному каталозі з'явиться файл із розширенням *.sgn – від'єднаний підпис у форматі CMS із кодуванням DER.

Скріншоти

Вікно Apple Automator:
Кваліфікований електронний підпис під macOS

Системні налаштування:
Кваліфікований електронний підпис під macOS

Контекстне меню Finder:

Кваліфікований електронний підпис під macOS

Перевірити підпис на документі

Якщо вміст документа не містить секретів та таємниць, то найпростіше скористатися web-сервісом на порталі Держпослуг – https://www.gosuslugi.ru/pgu/eds. Так можна зробити скріншот з авторитетного ресурсу і бути впевненим, що з підписом все ок.

Скріншоти

Кваліфікований електронний підпис під macOS

Кваліфікований електронний підпис під macOS

Джерело: habr.com

Додати коментар або відгук