Приложение для криптопротокола использует сертификат Verisign

Приложение для криптопротокола использует сертификат Verisign Электронная цифровая подпись
Содержание
  1. Что нужно для работы с КЭП под macOS
  2. Массовый перенос ключей и сертификатов CryptoPro на другой компьютер
  3. Устанавливаем и настраиваем КЭП под macOS
  4. Устанавливаем КриптоПро CSP
  5. Устанавливаем драйверы Рутокен
  6. Устанавливаем сертификаты
  7. Удаляем все старые ГОСТовские сертификаты
  8. Устанавливаем корневые сертификаты
  9. Скачиваем сертификаты удостоверяющего центра
  10. Устанавливаем сертификат с Рутокен
  11. Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34. 10-2012
  12. Устанавливаем специальный браузер Chromium-GOST
  13. Устанавливаем расширения для браузера
  14. 1 КриптоПро ЭЦП Browser plug-in
  15. Плагин для Госуслуг
  16. Настраиваем плагин для Госуслуг
  17. Активируем расширения
  18. Настраиваем расширение КриптоПро ЭЦП Browser plug-in
  19. Проверяем что все работает
  20. Заходим на тестовую страницу КриптоПро
  21. Заходим в Личный Кабинет на nalog
  22. Заходим на Госуслуги
  23. Что делать, если перестало работать
  24. КриптоПро CSP
  25. Инструкция по созданию файла, подписанного ЭЦП, с использованием ПО КриптоПро
  26. Как установить сертификат в КриптоПро с флешки
  27. Регистрация с помощью id. gov
  28. Проверить подпись на документе
  29. Инструменты КриптоПро
  30. Немного теории о цепочке сертификатов
  31. Послідовність дій користувача
  32. Личные данные для заполнения
  33. Установка КриптоПро ЭЦП Browser plug-in.
  34. Перенос сертификатов в виде пошаговой инструкции
  35. Установка сертификатов
  36. Удаление записи хранилища ключей
  37. Можно ли без корневого сертификата установить ЭП
  38. КриптоПро зависает при установке сертификата
  39. Как установить личный сертификат в КриптоПро
  40. Откуда берутся сертификаты?
  41. Создание подписанного документа
  42. Генерация тестового сертификата
  43. Смена PIN-кода контейнера
  44. Выясняем название контейнера КЭП
  45. Смена PIN командой из terminal
  46. Генерация ключевой пары
  47. Генерация запроса на сертификат
  48. Як підписати документ через портал “дія”?
  49. Какую информацию он содержит
  50. Немного про корневые и промежуточные сертификаты
  51. Глава вторая
  52. Где хранится закрытый ключ в реестре Windows
  53. Как установить корневой сертификат КриптоПро
  54. Установка сертификата в реестр КриптоПро
  55. Как обновить корневой сертификат
  56. Когда нужно переносить сертификаты в другое место?
  57. Сценарий №1 — найти следующего в связке
  58. Как конвертировать ключи приват банка в m. doc?
  59. Перенос сертификатов из реестра без КриптоПРО
  60. Где его взять
  61. Регистрация в мобильном приложении
  62. Словарный запас

Что нужно для работы с КЭП под macOS

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

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

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

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

Массовый перенос ключей и сертификатов CryptoPro на другой компьютер

Выше описанные методы хороши, когда у вас один или 5 ключиков в реестре, а как быть если их десятки. Помню лет 5 назад, когда я еще был младшим администратором, то я очень часто устанавливал электронные цифровые подписи главбуху, так как она работала в СБИС++ и сдавала там постоянно отчетность по огромному количеству организаций, по типу рога и копыта. Держать кучу токенов было не вариант, и для таких вещей у нее все хранилось в реестре и копия сертификатов была на флешке в сейфе. Флешку потом потеряли, встал вопрос сделать резервную копию всего и плюс обновить систему, в виду нового компьютера, на операционной системе Windows 8.1. ЭЦП было штук 50, а так как я ценю свое время, то и искал методы, выполнить это быстрее, к счастью я его нашел.

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

Открываете командную строку cmd и вводите команду:

криптопро перенос сертификатов-01

Вот это S-1-5-21-551888299-3078463796-888888888-46162 и есть SID, вашей учетной записи. Теперь когда вы его знаете, то вам нужно выгрузить ваши закрытые ключи из реестра Windows. Для этого откройте вот такую ветку:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\Номер вашего SID, который мы узнали\Keys

криптопро перенос сертификатов-02

В контейнере Keys, вы найдете все ваши закрытые ключи от ЭЦП. С правой стороны вы увидите файлы: * header.key * masks.key * masks2.key * name.key * primary.key * primary2.key

Щелкаем правым кликом по контейнеру Keys и экспортируем его.

криптопро перенос сертификатов-03

Сохраняем нашу ветку реестра с контейнерами закрытых ключей. Далее нам нужно скопировать открытые ключи, которые лежат по пути:

C:\Users\имя вашего пользователя\AppData\Roaming\Microsoft\SystemCertificates\My

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

перенос сертификатов-05

Как только вы поместили на новом компьютере папку Key, вы можете перенести реестровую выгрузку. Сохраненный файл в формате reg, вы должны открыть в любом текстовом редакторе.

перенос сертификатов-01

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

SID начинается с S-1 и так далее

перенос сертификатов-02

Все сохраняйте файл и запускайте его, у вас будет начат перенос сертификатов (закрытых ключей), подтверждаем действие.

перенос сертификатов-03

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

перенос сертификатов-04

Устанавливаем и настраиваем КЭП под macOS

Очевидные вещи

  • все загружаемые файлы скачиваются в каталог по-умолчанию: ~/Downloads/;
  • во всех установщиках ничего не меняем, все оставляем по-умолчанию;
  • если macOS запрашивает пароль пользователя и разрешение на управление компьютером – нужно ввести пароль и со всем согласиться.

Устанавливаем КриптоПро CSP

Регистрируемся на сайте КриптоПро и со страницы загрузок скачиваем и устанавливаем версию КриптоПро CSP 4.0 R4 для macOSскачать.

Устанавливаем драйверы Рутокен

На сайте написано что это опционально, но лучше поставить. Со страницы загрузок на сайте Рутокен скачиваем и устанавливаем Модуль поддержки Связки Ключей (KeyChain)скачать.

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

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

В ответе должно быть:

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

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

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

Если ранее были попытки запустить КЭП под 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

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

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

  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=4BC6DC14D97010C41A26E058AD851F81C842415A
  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=8CAE88BBFD404A7A53630864F9033606E1DC45E2
  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=0408435EB90E5C8796A160E69E4BFAC453435D1D

Устанавливаем командами в 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]

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

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

Альтернативно, сертификаты любого УЦ можно скачать с сайта УФО Минкомсвязи. Для этого в форме поиска нужно найти УЦ по названию, перейти на страницу с сертификатами и скачать все действующие сертификаты – то есть те, у которых в поле ‘Действует’ вторая дата еще не наступила. Скачивать по ссылке из поля ‘Отпечаток’.

Скриншоты

Приложение для криптопротокола использует сертификат Verisign

Приложение для криптопротокола использует сертификат Verisign

На примере УЦ Корус-Консалтинг: нужно скачать 4 сертификата со страницы загрузок:

  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=15EB064ABCB96C5AFCE22B9FEA52A1964637D101
  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=B9F1D3F78971D48C34AA73786CDCD138477FEE3F
  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=55EC48193B6716D38E80BD9D1D2D827BC8A07DE3
  • https://e-trust.gosuslugi.ru/Shared/DownloadCert?thumbprint=A0D19D700E2A5F1CAFCE82D3EFE49A0D882559DF

Скачанные сертификаты УЦ устанавливаем командами из 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

где после ~/Downloads/ идут имена скачанных файлов, для каждого УЦ они будут свои.

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

Installing:

[ErrorCode: 0x00000000]

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

Команда в terminal:

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

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

OK.
[ErrorCode: 0x00000000]

Конфигурируем CryptoPro для работы ссертификатами ГОСТ Р 34. 10-2012

Для корректной работы на nalog.ru с сертификатами, выдаваемыми с 2019 года, инструкция на сайте CryptoPro рекомендует:

Команды в terminal:

sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.1!3' -add string 'Name' 'GOST R 34.10-2012 256 bit'

sudo /opt/cprocsp/sbin/cpconfig -ini '\cryptography\OID\1.2.643.7.1.1.1.2!3' -add string 'Name' 'GOST R 34.10-2012 512 bit'

Команды ничего не возвращают.

Устанавливаем специальный браузер Chromium-GOST

Для работы с гос.порталами потребуется специальная сборка браузера сhromium – Chromium-GOST скачать.
Исходный код проекта открыт, ссылка на репозиторий на GitHub приводится на сайте КриптоПро. По опыту, другие браузеры CryptoFox и Яндекс.Браузер для работы с гос.порталами под macOS не годятся.

Скачиваем, устанавливаем копированием или drag&drop в каталог Applications. После установки принудительно закрываем Chromium-Gost командой из terminal и пока не открываем (работаем из Safari):

killall Chromium-Gost

Устанавливаем расширения для браузера

1 КриптоПро ЭЦП Browser plug-in

Со страницы загрузок на сайте КриптоПро скачиваем и устанавливаем КриптоПро ЭЦП Browser plug-in версия 2.0 для пользователейскачать.

Плагин для Госуслуг

Со страницы загрузок на портале Госуслуг скачиваем и устанавливаем Плагин для работы с порталом государственных услуг (версия для macOS)скачать.

Настраиваем плагин для Госуслуг

Скачиваем корректный конфигурационный файл для расширения Госуслуг для поддержки macOS и новых ЭЦП в стандарте ГОСТ2012 – скачать.

Выполняем команды в 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

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

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

chrome://extensions/

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

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

Скриншот

Приложение для криптопротокола использует сертификат Verisign

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

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

/etc/opt/cprocsp/trusted_sites.html

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

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

Жмем “Сохранить”. Должна появиться зеленая плашка:

Список доверенных узлов успешно сохранен.

Скриншот

Приложение для криптопротокола использует сертификат Verisign

Проверяем что все работает

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

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

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

Должно выводиться “Плагин загружен”, а в списке ниже присутствовать ваш сертификат.
Выбираем сертификат из списка и жмем “Подписать”. Будет запрошен PIN-код сертификата. В итоге должно отобразиться

Подпись сформирована успешно

Скриншот

Приложение для криптопротокола использует сертификат Verisign

Заходим в Личный Кабинет на nalog

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

  • Личный кабинет ИП: https://lkipgost.nalog.ru/lk
  • Личный кабинет ЮЛ: https://lkul.nalog.ru

Скриншот

Приложение для криптопротокола использует сертификат Verisign

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

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

Скриншот

Приложение для криптопротокола использует сертификат Verisign

Приложение для криптопротокола использует сертификат Verisign

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

  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.

КриптоПро CSP

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

Приложение для криптопротокола использует сертификат Verisign

Использование иных криптографических программ под административную ответственность руководителей и лиц, использующих ПО СКЗИ, не имеющих действующего сертификата соответствия ФСБ РФ.

Инструкция по созданию файла, подписанного ЭЦП, с использованием ПО КриптоПро

Приложение для криптопротокола использует сертификат Verisign

Для собственного использования создал инструкцию для подведов. Буду рад, если кому-нибудь пригодится в работе. Ниже представлен текст с картинками из инструкции по созданию подписанного ЭЦП электронного документа, с использованием ПО КриптоПро. В самом конце приложена ссылка на исходник, он выполнен в виде Гугл документа, шаблон – брошюра, формат листа А4. Его можно использовать по своему усмотрению.


Как установить сертификат в КриптоПро с флешки

Сертификат может устанавливаться в программу с различных носителей, это может быть, как жесткий диск компьютера, так и съёмные носители, и ключи-идентификаторы. Если сам сертификат может находиться в контейнере закрытого ключа, то его инсталляция производится через вкладку «Сервис», выбрав из сертификатов в контейнере.

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

Регистрация с помощью id. gov

Такой способ предполагает, что зарегистрироваться на портале можно при помощи Bank ID НБУ. Возможность есть только у клиентов банков, что поддерживают функционал Bank ID. Всего в списке доступных банков находится более 35 учреждений, включая ПриватБанк. 

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

Если содержимое документа не содержит секретов и тайн, то проще всего воспользоваться web-сервисом на портале Госуслуг – https://www.gosuslugi.ru/pgu/eds. Так можно сделать скриншот с авторитетного ресурса и быть уверенным что с подписью все ок.

Скриншоты

Приложение для криптопротокола использует сертификат Verisign

Приложение для криптопротокола использует сертификат Verisign

Инструменты КриптоПро

Для работы с ЭЦП запустите утилиту “Инструменты КриптоПро”. В ней собраны все необходимые инструменты для работы с ЭЦП

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

Немного теории о цепочке сертификатов

Чтобы сертификат пользователя имел юридическую значимость он удостоверяется сертификатом удостоверяющего центра, а тот в свою очередь заверяется сертификатом Минкомсвязи России, который является корневым сертификатом. Это называется цепочкой сертификатов.

Чтобы программы «понимали» что сертификату пользователя можно доверять необходимо чтобы корневой сертификат был установлен в хранилище «Доверенные корневые центры сертификации».

Приложение для криптопротокола использует сертификат Verisign

Если всё установлено правильно, то вкладка «Путь сертификации» сертификата пользователя выглядит так:

Приложение для криптопротокола использует сертификат Verisign

Послідовність дій користувача

1. В першому кроці зробіть наступне:

2. В наступному кроці зробіть таке:

3. Третім кроком буде надання результату підписання документа.

Кнопку “Зберегти” використовують для збереження підписаного файлу у файловій системі комп’ютера користувача. Принцип збереження відбувається так само, як й у звичайному випадку завантаження файлу переглядачем.

Кнопку “Назад” використовують для повернення на початкову сторінку сервісу. При цьому завантаження підписаних файлів не відбувається, результати створення підпису скасовуються.

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

Личные данные для заполнения

Сразу после регистрации в “Дія” рекомендуется указать персональную информацию о себе. Это такие данные, как:

  • ФИО;
  • идентификационный номер налогоплательщика;
  • дата рождения;
  • номер мобильного телефона;
  • адрес электронной почты;
  • пол.

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

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

Сама инсталляция плагина, очень простая, скачиваем его и запускаем.

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

Для запуска нажмите “Выполнить”

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

Далее у вас появится окно с уведомлением, что будет произведена установка КриптоПро ЭЦП Browser plug-in, соглашаемся.

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

После инсталляции утилиты, вам нужно будет обязательно перезапустить ваш браузер.

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

Открыв ваш браузер, вы увидите предупредительный значок, нажмите на него.

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

В открывшемся окне нажмите “Включить расширение”

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

Не забудьте установить КриптоПРО CSP на компьютер, где будет генерироваться сертификат

Теперь у нас все готово. Нажимаем “Сформировать ключи и отправить запрос на сертификат”. Согласитесь с выполнением операции.

получить тестовый сертификат-02

У вас откроется форма расширенного запроса сертификата. Вначале заполним раздел “Идентифицирующие сведения”. В него входят пункты:

  • Имя
  • Электронная почта
  • Организация
  • Подразделение
  • Город
  • Область
  • Страна

получить тестовый сертификат-03

Далее вам нужно указать тип требуемого сертификата. В двух словах, это область применения ЭЦП:

  • Сертификат проверки подлинности клиента (самый распространенный вариант, по сути для подтверждения, что вы это вы)
  • Сертификат защиты электронной почты
  • Сертификат подписи кода
  • Сертификат подписи штампа времени
  • Сертификат IPSec, для VPN тунелей.
  • Другие, для специальных OID

Я оставляю “Сертификат проверки подлинности клиента”.

получить тестовый сертификат-04

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

получить тестовый сертификат-05

Для удобства еще можете заполнить поле “Понятное имя”, для быстрой идентификации вашей тестовой ЭЦП от КриптоПРО. Нажимаем выдать тестовый сертификат.

получить тестовый сертификат-06

У вас появится запрос на создание, в котором вам необходимо указать устройство, на которое вы будите записывать тестовый сертификат КриптоПРО, в моем случае это е-токен.

получить тестовый сертификат-07

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

получить тестовый сертификат-08

Все наш контейнер КриптоПРО сформирован и для его записи введите пин-код.

получить тестовый сертификат-09

Вам сообщат, что запрошенный вами сертификат был вам выдан, нажимаем “Установить этот сертификат”.

получить тестовый сертификат-10

Если у вас еще не установленны корневые сертификаты данного центра сертификации, то вы получите вот такую ошибку:

Данный ЦС не является доверенным

Для ее устранения нажмите на ссылку “установите этот сертификат ЦС”

получить тестовый сертификат-11

У вас начнется его скачивание.

получить тестовый сертификат-12

Запускаем его, как видите в левом верхнем углу красный значок, чтобы его убрать нажмите “Установить сертификат”, оставьте для пользователя.

получить тестовый сертификат-13

Далее выбираем пункт “Поместить все сертификаты в следующее хранилище” и через кнопку обзор указываете контейнер “Доверенные корневые центры сертификации”. Далее ок.

получить тестовый сертификат-14

На последнем этапе у вас выскочит окно с предупреждением, о подтверждении установки сертификатов, нажимаем “Да”.

получить тестовый сертификат-15

Открываем снова окно с выпуском тестового сертификата КриптоПРО и заново нажимаем “Установить сертификат”, в этот раз у вас вылезет окно с вводом вашего пин-кода от вашего носителя.

получить тестовый сертификат-16

Если вы его ввели правильно, то увидите, что новый сертификат успешно установлен.

получить тестовый сертификат-17

Теперь открывайте ваш КриптоПРО и посмотрите есть ли сертификат в контейнере. Как видите в контейнере есть наша ЭЦП.

получить тестовый сертификат-18

Если посмотреть состав, то видим все наши заполненные поля. Вот так вот просто выпустить бесплатный, тестовый сертификат КриптоПРО, надеюсь было не сложно.

получить тестовый сертификат-19

Перенос сертификатов в виде пошаговой инструкции

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

Данный метод подойдет для тех ситуаций, когда у вас один или 2 сертификата (ЭЦП). Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит, и там придется выбирать 4-й метод.

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

Установка сертификатов

Используя Инструменты КриптоПро, перейдите в пункт меню “Сертификаты” и установите сертификат Федерального казначейства в “доверенные корневые центры сертификации”.

Приложение для криптопротокола использует сертификат Verisign

Затем повторите процедуру для ЭЦП сотрудника, выбрав место установки сертификата “Личное”. Подготовка завершена.

Удаление записи хранилища ключей

Так же в в утилите keytool имеется команда, которая может удалить запись из хранилища ключей: delete. Вот формат этой команды:

-delete
    -alias alias
    -storetype storetype
    -keystore keystore
    -storepass storepass
    -providerName provider_name
    -providerClass provider_class_name
    -providerArg provider_arg
    -v
    -protected
    -Jjavaoption

Вот пример вызова команды delete. Не забудьте удалить разрывы строк перед запуском!

"C:\Program FilesJavajdk1.8.0_111binkeytool"
    -delete
    -alias testkey
    -storetype JKS
    -keystore keystore.jks
    -storepass abcdef

Эта команда удаляет запись хранилища с псевдонимом testkey хранящегося в файле keystore.jks.

Можно ли без корневого сертификата установить ЭП

Если у субъекта нет корневого сертификата, установить ЭЦП в систему он сможет. Однако полноценно использовать её не получится, так как для подписания этой подписью документа обязательно потребуется КС.

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

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

КриптоПро зависает при установке сертификата

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

Сложности с установкой могут возникнуть в следующих случаях: неверно указанный путь к файлу, недействительность сертификата, его срок действия истек или приостановлен. Чтобы выявить причину некорректной работы программы рекомендуем связаться со службой технической поддержки либо искать информацию на официальном сайте компании-производителя.

КриптоПро зависает при установке сертификата

Как установить личный сертификат в КриптоПро

В КриптоПро CSP процедура производится при наличии документа, имеющего расширение .cer, который собственно представляет собой сертификат. Возможные места расположения документа: флешка, различные токены либо жесткий диск компьютера. В зависимости от того, где он хранится, есть два способа инсталляции. Если сертификат находится в контейнере закрытого ключа, нужно открыть его, зайдя в Сервис и найти пункт «Просмотреть сертификаты в контейнере». В окне «Сертификаты в контейнере закрытого ключа» нужно будет нажать кнопку «Установить». Документ будет установлен в хранилище «Личные».

Если сертификат хранится в файле, метод немного другой. Сертификат устанавливается в хранилище «Личные» и формируется ссылка на закрытый ключ, который соответствует этому сертификату. Через «Панель Управления» необходимо открыть вкладку Сервис. Нажав «Установить личный сертификат», потребуется определиться с именем файла. Получив подтверждение нужно заполнить «Имя ключевого контейнера». Возможно потребуется ввести пароль на доступ к закрытому ключу. Последним шагом будет выбор хранилища для инсталляции сертификата. Поэтапный процесс описывается для версии КриптоПро 4.0, если необходимо руководство установка личного сертификата КриптоПро 3.6, рекомендуем ознакомиться с информацией на сайте разработчика.

Откуда берутся сертификаты?

Еще совсем недавно было всего 2 способа заполучить X.509 сертификат, но времена меняются и с недавнего времени есть и третий путь.

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

    not trusted

  2. Приобрести сертификат в УЦ. Это будет стоить денег в зависимости от различных его характеристик и возможностей, указанных выше.
  3. бесплатный сертификат , доступны только самые простые сертификаты.

Для первого сценария достаточно пары команд и чтобы 2 раза не вставать создадим сертификат с алгоритмом эллиптических кривых. Первым шагом нужно создать закрытый ключ. Считается, что шифрование с алгоритмом эллиптических кривых дает больший выхлоп, если измерять в тактах CPU, либо байтах длины ключа. Поддержка ECC не определена однозначно в TLS < 1.2.

openssl ecparam -name secp521r1 -genkey -param_enc explicit -out private-key.pem

Далее, создает CSR — запрос на подписание сертификата.

openssl req -new -sha256 -key private.key -out server.csr -days 730

И подписываем.

openssl x509 -req -sha256 -days 365 -in server.csr -signkey private.key -out public.crt

Результат можно посмотреть командой:

openssl x509 -text -noout -in public.crt

Openssl имеет огромное количество опций и команд. Man страница не очень полезна, справочник удобнее использовать так:

openssl -help
openssl x509 -help
openssl s_client -help

Ровно то же самое можно сделать с помощью java утилиты keytool.

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

Следует серия вопросов, чтобы было чем запомнить поля owner и issuer

What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your City or Locality?
What is the name of your State or Province?
What is the two-letter country code for this unit?
Is CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU correct?

Конвертируем связку ключей из проприетарного формата в PKCS12.

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12

Смотрим на результат:

keytool -list -v -alias selfsigned -storepass password -keystore keystore.jks

Alias name: selfsigned
Creation date: 20.01.2021
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU
Issuer: CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU
Serial number: 1f170cb9
Valid from: Sat Jan 20 18:33:42 MSK 2021 until: Tue Jan 15 18:33:42 MSK 2021
Certificate fingerprints:
     MD5:  B3:E9:92:87:13:71:2D:36:60:AD:B5:1F:24:16:51:05
     SHA1: 26:08:39:19:31:53:C5:43:1E:ED:2E:78:36:43:54:9B:EA:D4:EF:9A
     SHA256: FD:42:C9:6D:F6:2A:F1:A3:BC:24:EA:34:DC:12:02:69:86:39:F1:FC:1B:64:07:FD:E1:02:57:64:D1:55:02:3D

Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 30 95 58 E3 9E 76 1D FB   92 44 9D 95 47 94 E4 97  0.X..v...D..G...
0010: C8 1E F1 92                                        ....
]
]

Значению ObjectId: 2.5.29.14 соответствует определение ASN.1, согласно RFC 3280 оно всегда non-critical. Точно так же можно узнать смысл и возможные значения других ObjectId, которые присутствуют в сертификате X.509.

subjectKeyIdentifier EXTENSION ::= {
    SYNTAX SubjectKeyIdentifier
    IDENTIFIED BY id-ce-subjectKeyIdentifier
}

SubjectKeyIdentifier ::= KeyIdentifier

Создание подписанного документа

Подписать можно абсолютно любой файл.

Перейдите в пункт “Создание подписи”

Приложение для криптопротокола использует сертификат Verisign

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

Приложение для криптопротокола использует сертификат Verisign
Приложение для криптопротокола использует сертификат Verisign

Выберите подпись, которой необходимо подписать документ. Обратите внимание – ЭЦП должно быть актуальной.

После выбора ЭЦП станет активной кнопка “Подписать”. Необходимо её нажать. Если документ подписан и нет ошибок – под кнопкой “подписать появится соответствующая надпись. Либо будет указана ошибка с кодом.

Далее перейдите в папку, где хранился подписываемый документ, в нем будет два файла – сам документ и его подпись. Размещать или пересылать необходимо оба документа.

Приложение для криптопротокола использует сертификат Verisign

Генерация тестового сертификата

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

https://www.cryptopro.ru/certsrv/

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

получить тестовый сертификат-01

Я вам советую этот сайт открывать в Internet Explore, меньше будет глюков. Как открыть Internet Explore в Windows 10, читайте по ссылке слева

Если же вы хотите использовать другой браузер, то установите КриптоПро ЭЦП Browser plug-in.

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

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

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

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

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

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

[ErrorCode: 0x00000000]

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

\.\Aktiv Rutoken lite\XXXXXXXX

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

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

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

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

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

Скриншот

Приложение для криптопротокола использует сертификат Verisign

Генерация ключевой пары

Генерация ключевой пары (открытый ключ / закрытый ключ) является одной из наиболее распространенных задач, для которых используется утилита Keytool. Сгенерированная пара ключей вставляется в файл KeyStore как пара ключей с собственной подписью. Вот общий формат командной строки для генерации пары ключей:

-genkeypair
    -alias alias
    -keyalg keyalg
    -keysize keysize
    -sigalg sigalg
    -dname dname
    -keypass keypass
    -validity valDays
    -storetype storetype
    -keystore keystore
    -storepass storepass
    -providerClass provider_class_name
    -providerArg provider_arg
    -v
    -protected
    -Jjavaoption

Аргументы объяснены в разделе Аргументы Keytool. Не все эти аргументы нужны и многие являются не обязательными. Утилита сообщит вам, если вы пропустили обязательный аргумент. Вот пример команды, которая импортирует сертификат в KeyStore.

"C:\Program FilesJavajdk1.8.0_111binkeytool"
    -importcert
    -alias testkey
    -keypass 123456
    -storetype JKS
    -keystore keystore2.jks
    -file cert.cert
    -rfc
    -storepass abcdef

Генерация запроса на сертификат

Утилита keytool может генерировать запрос сертификата с помощью команды certreq. Запрос сертификата — это запрос к центру сертификации (ЦС) на создание публичного сертификата для вашей организации. После создания запроса на сертификат он должен быть отправлен в центр сертификации, в котором вы хотите создать сертификат (например, Verisign, Thawte или какой-либо другой центр сертификации).

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

-certreq
    -alias alias
    -sigalg sigalg
    -file certreq_file
    -keypass keypass
    -storetype storetype
    -keystore keystore
    -storepass storepass
    -providerName provider_name
    -providerClass provider_class_name
      -providerArg provider_arg
    -v
    -protected
    -Jjavaoption

Вот пример команды -certreq:

"C:\Program FilesJavajdk1.8.0_111binkeytool"
    -certreq
    -alias testkey
    -keypass 123456
    -storetype JKS
    -keystore keystore.jks
    -storepass abcdef
    -file certreq.certreq

Эта команда сгенерирует запрос сертификата для ключа, сохраненного с псевдонимом testkey в файле keystore.jks, и запишет запрос сертификата в файл с именем certreq.certreq.

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

  • -alias Псевдоним записи в хранилище ключей. Помните, псевдоним
    может указывать только на один ключ.
  • -keyalg Название алгоритма, используемого для генерации ключа. Обычно используется RSA.
  • -keysize Размер ключа в битах. Обычно размеры ключа кратны. Кроме того, различные алгоритмы могут поддерживать только определенные предварительно заданные размеры ключей.
  • -sigalg Алгоритм подписи, используемый для подписи пары ключей.
  • -dname Уникальное имя из стандарта X.500. Это имя будет связано с
    псевдонимом для этой пары ключей в хранилище ключей, также
    используется в качестве полей «эмитент» и «субъект» в самозаверяющем
    сертификате.
  • -keypass Пароль ключевой пары, необходимый для
    доступа к этой конкретной паре ключей в хранилище ключей.
  • -validity Количество дней, в течение которых сертификат,
    приложенный к паре ключей, должен быть действительным.
  • -storetype Формат файла, в котором должно быть сохранено хранилище ключей. По умолчанию используется JKS. Другим вариантом является формат PKCS11.
  • -keystore Имя файла хранилища для хранения сгенерированной пары
    ключей. Если файл не существует, он будет создан.
  • -file Имя файла для чтения или записи сертификата или запроса сертификата.
  • -storepass Пароль от хранилища ключей, всем, кто захочет работать
    с ним, понадобится этот пароль. Отличие storepass от keypass в
    том что первый предоставляет доступ к хранилищу, а второй к отдельной
    паре ключей. Вам понадобятся оба пароля для доступа к любому ключу,
    хранящемуся в хранилище.
  • -rfc Если включить этот флаг, то утилита будет использовать текстовый формат, а не двоичный формат, например для экспорта или импорта сертификатов. Значение -rfc
    относится к стандарту RFC 1421.
  • -providerName Имя провайдера криптографического API, который вы хотите использовать при создании пары ключей. Имя провайдера должно быть указано в файлах свойств безопасности Java.
  • -providerClass Имя корневого класса провайдера криптографического API, который вы хотите использовать. Используется когда имя провайдера не указано в файлах свойств безопасности Java.
  • -providerArg Аргументы, передаваемые собственному криптографическому провайдеру при инициализации (если это необходимо провайдеру).
  • -v Сокращенное от verbose, утилита Keytool будет выводить много дополнительной информации в командную строку в удобочитаемом формате.
  • -protected Определяет, должен ли пароль хранилища ключей предоставляться каким-либо внешним механизмом, например, аппаратный токен. Допустимые значения: true и false.
  • -Jjavaoption Строка опций для Java VM которая генерирует пару ключей и создает хранилище.

Як підписати документ через портал “дія”?

1. Перейдіть за посиланням sign.diia.gov.ua.

2. Виберіть тип носія особистого ключа, введіть пароль та натисніть “Зчитати ключ”.

3. Виберіть документ для підписання та натисніть “Продовжити”.

4. Перевірте назву документа та натисніть “Підписати файл”.

5. Все готово! Зберігання підписаного документа розпочнеться автоматично. Якщо цього не сталося, натисніть кнопку “Зберегти файл”.

Радимо звернути увагу на поради, про які писав Cybercalm, а саме:

Какую информацию он содержит

Корневой сертификат содержит в зашифрованном виде все основные сведения об удостоверяющем центре:

  • Срок его действия.
  • Сервисная информация об удостоверяющем центре.
  • Адрес в интернете – где содержится реестр организаций, у которых выпущена ЭП.

Просто так просмотреть эти сведения не получится. Нужно использовать специализированную программу – КриптоПро CSP.

Немного про корневые и промежуточные сертификаты

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

За дополнительной информацией я пошёл на сайт Минкомсвязи и нашёл такую страницу. Там можно скачать XLS файл, в котором будут перечислены все имеющие в настоящий момент аккредитацию УЦ, а также УЦ с приостановленной и прекращенной аккредитацией. В списке аккредитованных находится 494 УЦ, что немало.

Однако просто списка недостаточно, нужны хотя бы ссылки на сайты этих УЦ, а также надо найти корневые сертификаты непосредственно от первоисточника, Минкомсвязи. Следующий точкой в поиске этой информации стал портал pravo.gov.ru, где перечислены ссылки на некоторые корневые сертификаты. Страница доступна только по http протоколу, контрольных сумм опять нет.

Приглядевшись, можно заметить, что первые 4 ссылки ведут на портал https://e-trust.gosuslugi.ru. Не совсем понятно, почему именно поддомен сайта госуслуг стал центральным в системе корневых сертификатов, но, кажется, тут приведена вся актуальная информация по корневым и промежуточным сертификатам.

На странице головного УЦ https://e-trust.gosuslugi.ru/MainCA приведены 10 корневых сертификатов от Минкомсвязи, для разных ГОСТ алгоритмов и с разными сроками действия. Тут же доступны слепки ключей, можно проверить, что скачанный сертификат никто не подменил. Сам сайт имеет сертификат от Thawte.

На странице аккредитованных УЦ https://e-trust.gosuslugi.ru/CA находится полный список промежуточных удостоверяющих центров, можно скачать их сертификаты, проверить слепок. Кроме этого вся информация доступна в формате XML. Одним разом можно получить файл с данными о всех промежуточных УЦ, а также их сертификаты и ссылки для получения списка отозванных сертификатов.

У сертификатов есть поле точки распространения списка отзывов (CRL), в котором прописан путь получения списка отозванных сертификатов. При проверке ЭП на каком-то документе кроме установки промежуточного и корневых сертификатов нужно также установить и последний список отозванных и обновлять его перед каждой проверкой (данная процедура автоматизируется специализированным софтом, но штатные средства вроде бы так не умеют). На портале e-trust у каждого сертификата указан путь к такому списку и он может отличаться от того, что написано в самом сертификате. Чему верить? Не совсем понятно.

Приложение для криптопротокола использует сертификат Verisign

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

После написания статьи осталось несколько открытых вопросов, которые хотелось бы обсудить с сообществом:

  1. аналоги КриптоПро, особенно opensource инструменты для создания и проверки ЭП;
  2. добавление валидации ЭП не только в Adobe Acrobat Reader DC, но и в Foxit Reader и другие;
  3. оставшиеся за пределами данной статьи проблемы, которые также важны и требуют внимания, но не проявились в моём случае.

UPD 0: В комментариях подсказали онлайн сервис на портале госуслуг для проверки ЭП документов: https://www.gosuslugi.ru/pgu/eds. К сожалению, не заработало в моём случае, но может быть полезно.

UPD 1: После написания статьи мне подсказали, что есть ещё один криптопровайдер, ViPNet CSP, который тоже может помочь с ГОСТовскими криптоалгоритмами в системе. Одновременная установка его с КриптоПро CSP под вопросом.

КДПВ: edar, Pixabay

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

Всегда-ли вы проверяете ЭЦП в полученных электронных документах?

Проголосовали 70 пользователей.

Воздержались 28 пользователей.

Глава вторая

Порывшись в почте, я нашел еще один электронный договор. По счастливой случайности, им тоже оказался страховой полис, но на этот раз еОСАГО от АО “Тинькофф Страхование”. Открываем сертификат, смотрим выпустившую сертификат организацию. Ей оказывается АО “Тинькофф банк”. Да, оказывается у них есть свой УЦ, который выдает сертификаты дочерним организациям (у Сбербанка тоже есть свой УЦ, но в дочерних структурах он не используется).

По отработанному алгоритму идём в поисковую систему с запросом “тинькофф сертификат”, находим официальный сайт УЦ АО Тинькофф Банк. Тут нас встречает изобилие ссылок на корневые сертификаты, списки отозванных сертификатов и даже видеоинструкция по их установке. Скачиваем “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2012”, на этот раз ссылка ведёт не на сторонний сервис, а на сайт банка. Формат файла P7B не очень известный, но открывается Windows без установки стороннего софта и показывает находящиеся в нём сертификаты. Здесь уже привычный корневой сертификат от Минкомсвязи (другой, не тот, что в первом случае) и промежуточный сертификат УЦ банка.

Приложение для криптопротокола использует сертификат Verisign

Ставим оба, проверяем сертификат в полисе. Но нет, сертификат не является доверенным, т.к. система не может подтвердить поставщика сертификата. На сайте УЦ было 2 ссылки на 2 цепочки сертификатов, один для ГОСТ Р 34.10.2001, другой для ГОСТ Р 34.10.2012. Полис был выпущен в этом году, логичнее бы его подписать уже более современным криптоалгоритмом (тем более уже есть версия ГОСТ от 2018 года, алгоритмы обновляются довольно часто), но давайте проверим старый.

Приложение для криптопротокола использует сертификат Verisign

В новом файле формата P7B оказывается уже 3 файла сертификатов. Можно поставить все 3, однако стоит заметить, что сертификат “Головного удостоверяющего центра” мы поставили в первой главе из RAR архива ООО “ИТК”, они идентичны. А сертификат с не очень говорящим названием “УЦ 1 ИС ГУЦ” поставил КриптоПро CSP, т.к. галочка об установке корневых сертификатов была установлена по-умолчанию в его инсталляторе. Единственным новым является сертификат АО “Тинькофф Банк”, который мы и ставим.

После установки сертификатов из “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2001” путь в сертификате прорисовался и система радостно сообщила, что он является доверенным. Adobe Acrobat Reader DC также подтвердил, что подпись действительна.

Приложение для криптопротокола использует сертификат Verisign

На этом приключения с проверкой ЭП на полисе еОСАГО завершаются. Заметно, что после того, как в системе уже установлен необходимый софт, а пользователь понимает принципы работы и поиска промежуточных сертификатов, то проверка подписи занимает уже меньше времени.

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

Где хранится закрытый ключ в реестре Windows

После процедуры добавления сертификата в реестр КриптоПРО, я бы хотел показать, где вы все это дело можете посмотреть. Ранее я вам рассказывал, о том как добавить оснастку сертификаты. Нас будет интересовать раздел “Сертификаты пользователя – Личное”.

скопировать закрытый ключ в реестр-01

Либо вы можете зайти в свойства Internet Explorer на вкладку “Содержание’. Потом перейти в пункт “Сертификаты”, где у вас будут отображаться все ваши SSL сертификаты, и те, что КриптоПРО скопировал в реестр операционной системы.

сертификаты криптопро в реестре

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

\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\Ваш SID, как его определить читайте по ссылке\Keys\Копия сертификата в реестре (Семин Иван)

как скопировать рутокен в реестр

Про копирование ЭЦП с закрытыми ключами мы разобрали, теперь ситуация обратная.

Как установить корневой сертификат КриптоПро

Чтобы сервер работал корректно необходимо установить корневой сертификат в хранилище сертификатов. Чтобы получить сертификат требуется тестовый центр сертификации продукта. Чтобы попасть на веб-интерфейс центра сертификации необходимо зайти через администратора. Во избежание неполадок с работой рекомендуется добавить адрес сайта в доверенные. Запросив сертификат и загрузив его из сертификационного центра, и открыть его, чтобы осуществить установку.

Во вкладке «Общие» в сведениях о сертификате, выберите пункт «Установить сертификат». Мастер импорта сертификатов поможет осуществить инсталляцию. Потребуется выбрать хранилище и следовать шагам «Мастера Установки». Показателем правильно установленного сертификата будет его расположение в хранилище «Доверенные корневые центры сертификации локального компьютера».

Как установить корневой сертификат КриптоПро

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

Прежде чем инсталлировать сертификат в реестр, необходимо произвести настройку считывателя «Реестр». После этого можно приступать к инсталляции. Прежде всего необходимо скопировать контейнер с ключами в реестр. Установка контейнера в КриптоПро подробно описана в предыдущем обзоре СКЗИ.

После дублирования ключевого контейнера через КриптоПро CSP, можно приступать к установке сертификата из реестра. Нужно выбрать контейнер в реестре и выполнить туда установку. Рекомендации по инсталляции представлены в тексте выше в абзаце об установке личного сертификата.

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

Как обновить корневой сертификат

Как установить корневой сертификат удостоверяющего центра Криптопро, возможные ошибки

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

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

Как провести обновление:

  • Вручную скачать корневые сертификаты и установить новые в операционную систему;
  • С помощью специальных вспомогательных программ, которые бесплатно распространяют многие удостоверяющие центры. Такие программы проверяют и устанавливают все необходимые сертификаты в автоматическом режиме.

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

Когда нужно переносить сертификаты в другое место?

И так давайте рассмотрим по каким причинам у вас может появиться необходимость в копировании ваших ЭЦП в другое место.

  1. На текущем физическом компьютере начинает умирать жесткий диск или SSD накопитель (Как проверить жизненные показатели жесткого диска), очень частая история и жизненная, когда люди теряли все свои данные, из-за банальной жадности в покупке нового оборудования и элементарного незнания принципов резервного копирования.
  2. У вас производится модернизация оборудования, его улучшение и вам нужно перенести все сертификаты с закрытыми ключами на другую систему
  3. Вы создали отдельный сервер, в виде виртуальной машины, где будут находится все ваши сертификаты и с ними смогут работать все необходимые сотрудники, терминал для бухгалтерии. Простой пример СБИС, и когда у вас 10-20 организаций.

Сценарий №1 — найти следующего в связке

Связка сертификатов — Объединение нескольких X.509 сертификатов в один файл, чаще всего в формате PEM. Связка передается по сети в момент протокола рукопожатия SSL/TLS.

Самый сок начинается, когда имеете дело со связкой сертификатов, a. k. a certificate chain. Часто просматривая лапшу в связке ключей jks непросто понять как найти родительский сертификат, когда там россыпь новых и старых сертификатов на несколько доменных имен.

Как конвертировать ключи приват банка в m. doc?

В программе M.E.Doc все документы мы подписываем электронными цифровыми подписями. ЭЦП Вы можете получить в аккредитованных центрах, но стоит обратить внимание, что программа M.E.Doc может работать с определенными АЦСК, а именно:

  • АЦСК «Україна»;
  • АЦСК ІДД ДФС;
  • АЦСК «MasterKey»;
  • АЦСК органів юстиції України;
  • АЦСК Укрзалізниці;
  • АЦСК ПАТ «УкрСиббанк»;
  • АЦСК ДП «УСС»;
  • АЦСК «Приват Банк».

Сейчас мы рассмотрим, как успешно использовать ключи Приват Банка в программе (мы будем использовать ключи для юридического лица). Ключ приват банка – это файл с расширением JKS. Для подписания отчетов в программе нам необходимо конвертировать ключ для понятного программе расширения zs2. Запускаем M.E.Doc, далее «Адміністрування» – «Сертифікати».

Как конвертировать ключи Приват Банка в M.E.Doc?

В открывшемся окне открываем вкладку «Сервіс» – «Конвертація ключа JKS».

Как конвертировать ключи Приват Банка в M.E.Doc?

Программа предложит выбрать файл ключа (он должен быть у Вас на компьютере или на флешке). Затем необходимо указать путь куда хотим сохранить конвертированный вариант ключа, в нашем случае, это: «C:UsersVadimDocumentsKey_convert». В нижнем поле вводим пароль ключа JKS и нажимаем «Конвертувати».

Как конвертировать ключи Приват Банка в M.E.Doc?

Если все сделано верно, то M.E.Doc сообщит об успешной конвертации.

Как конвертировать ключи Приват Банка в M.E.Doc?

В папке конечного результата, у нас должно появиться 2 файла с расширением. zs2 (это непосредственно наши конвертированные ключи) и 4 файла сертификатов .crt. Если вы делали конвертацию ключей для физического лица без печати, то у Вас будет 1 файл .zs2, и 2 сертификата .crt. Возвращаемся в вкладку “Сертифікати”, нажимаем на кнопку добавить (на рисунке пункт 1.), выбираем все полученные сертификаты из папки в которую конвертировали ключи и нажимаем кнопку открыть.

Как конвертировать ключи Приват Банка в M.E.Doc?

После загрузятся сертификаты Вашего предприятия и программа предложит Вам «Змінити налаштування комплекту підписів», в предложенном запросе выберете «Так».

В меню настройки подписей, нажав на стрелочку напротив типа документов (к примеру «Звітність») выберите перечень подписей, которые необходимо ставить на данный тип документов – нажмите «Ок».

Как конвертировать ключи Приват Банка в M.E.Doc?

Перенос сертификатов из реестра без КриптоПРО

Существуют методы экспортировать закрытый ключ и без изспользования утилиты КриптоПРО. Представим себе ситуацию, что у вас на него кончилась лицензия и вы не успели ее купить. Вам нужно сдать отчетность в СБИС. Вы развернули CryptoPRO на другом компьютере, так как он позволяет 3 месяца бесплатного использования, осталось для СБИС выполнить перенос сертификатов, которые у вас в реестре Windows.

У нас два варианта:

  • Использование оснастки mmc-Сертификаты пользователя.
  • Использование Internet Explore

Как открыть оснастку сертификаты я уже подробно рассказывал, посмотрите. Откройте там контейнер “Личное – Сертификаты”. Если у вас в контейнере не один сертификат с одинаковым именем, такое может быть, то откройте сертификат в оснастке mmc и в КриптоПРО и сравните серийные номера сертификата.

перенос сертификатов-01

В Internet Explore, откройте “Свойства браузера – Содержание – Сертификаты”

Экспорт сертификата из реестра Windows

Теперь нам необходимо его экспортировать, в оснастке “Сертификаты”, через правый клик, это можно сделать, в Internet Explorer, сразу видно кнопку, экспорт.

Экспорт закрытого контейнера из реестра

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

перенос сертификатов

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

сбис перенос сертификата

Следующим этапом в мастере экспорта сертификатов, вам необходимо выбрать формат выгрузки, это будет PFX архив.

контур перенос сертификатов

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

сбис перенос сертификата-2

Мастер экспорта сертификатов, выведет вам сводные данные, нажимаем “Готово”.

перенос сертификата на рутокен-01

Отрываем локацию, куда вы его выгрузили, и найдите свой pfx архив.

перенос сертификата на рутокен-02

Теперь вам нужно еще выгрузить открытый ключ в формате cer, для этого так же зайдите в мастер экспорта, но на этот раз выберите “Нет, не экспортировать закрытый ключ”.

перенос сертификата на рутокен-03

Выберите формат файла “X.509 (.CER) в кодировке DEP”, задайте ему имя и место сохранения. На выходе у вас появятся два файла.

перенос сертификата на рутокен-04

Одни открытый ключ в формате cer и закрытый ключ в формате pfx. Этого набора вам будет достаточно, чтобы перенести сертификаты СБИС, Контура и остальных программ на другой компьютер.

перенос сертификата на рутокен-05

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

Установка перенесенного сертификата-01

На втором шаге проверяем импортируемый сертификат.

Установка перенесенного сертификата-02

Указываем пароль, который задавали при выгрузке.

Установка перенесенного сертификата-03

Оставляем автоматический выбор хранилища на основе типа сертификатов.

Установка перенесенного сертификата-04

Готово. Со вторым файлом то же самое. После чего у вас будут перенесены нужные вам ключи и сам сертификат, можно работать.

Где его взять

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

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

Например, СКБ «Контур» (Удостоверяющий центр сертум про) предоставляет корневой сертификат по следующему адресу https://ca.kontur.ru/about/certificates.

Регистрация в мобильном приложении

Чтобы войти в приложение, необходимо для начала пройти идентификацию через технологии Bank ID:

Процесс регистрации в мобильном приложении “Дія” занимает считанные минуты. На каждом этапе можно воспользоваться подробными подсказками, поэтому зарегистрироваться не составит особого труда.

Словарный запас

Определение X.509 сертификатов есть в архиве ITU-T

Certificate  ::=  SEQUENCE  {
     tbsCertificate       TBSCertificate,
     signatureAlgorithm   AlgorithmIdentifier,
     signatureValue       BIT STRING  }

TBSCertificate  ::=  SEQUENCE  {
     version         [0]  EXPLICIT Version DEFAULT v1,
     serialNumber         CertificateSerialNumber,
     signature            AlgorithmIdentifier,
     issuer               Name,
     validity             Validity,
     subject              Name,
     subjectPublicKeyInfo SubjectPublicKeyInfo,
     issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version MUST be v2 or v3

Для того, чтобы досконально понять обозначения и синтаксис, придется читать спеки X.680 редакции 2008 г., где есть полное описание ASN.1. В понятиях ASN.1SEQUENCE обозначает примерно то же самое, что и struct в Си. Это может сбить с толку, ведь по семантике оно должно было соответствовать скорее массиву. И тем не менее.

Стандарт X.690 определяет следующие правила кодирования структур данных, созданных в соответствии с ASN.1: BER (Basic Encoding Rules), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules). Есть даже XER (XML Encoding Rules), который на практике мне никогда не встречался.

Да, но для чего нужны сертификаты X.509, которые доставляют столько головной боли? Первая и основная функция сертификатов X.509 — служить хранилищем открытого или публичного ключа PKI (public key infrastructure). К этой функции нареканий нет, а вот со второй не все так однозначно.

Вторая функция сертификатов X.509 заключается в том, чтобы предъявитель сего был принят человеком, либо программой в качестве истинного владельца некоего цифрового актива: доменного имени, веб сайта и пр. Это получается по-разному, далеко не все сертификаты имеют высокую ликвидность, если пользоваться финансовой терминологией.

Читайте также:  Электронные подписи Контура продолжают работать в 2022 году — СКБ Контур
Оцените статью
ЭЦП Эксперт
Добавить комментарий