Корневые сертификаты
⭐️ Всем привет! В данной статье вы узнаете как провести поверку и тестирование сертификата электронной подписи на работоспособность подручными средствами на компьютере. Данный вариант пока актуален на конец 2020 и начало 2021 года. ⛔️ Проверка ключа ЭЦП необходима для стабильной и безошибочной работы с внешними ресурсами.
✅ Я продолжаю свою серию статей посвященную ЭЦП и все что связанно с ней! На данный момент работая в большой строительной компании я вижу как с каждым годом ЭЦП становится неотъемлемой частью работы практически каждого отдела. 🔥 Если раньше с ЭЦП работала только одна бухгалтерия отправляя отчеты в ПФР или ФСС то сейчас уже в каждом отделе нужен Rutoken для работы с госпорталами или электронными площадками. ⚡️ Поэтому я буду постепенно писать небольшие или большие инструкции по работе не только с сертификатами и электронно цифровыми подписями, но и при работе с сайтами и порталами. На данный момент в моей коллекции есть такие статьи по ЭЦП как:⚠️
В прошлой статье когда мы разбирали ошибку -10 при отправки реестров в ФСС, единственное что приходило в голову это проверка и тестирование сертификата ЭЦП и сейчас я покажу как это надо делать.
PS в данной статье я буду все показывать на своем тестовом сертификате ЭЦП который можно выпустить самому)
Сайт мера Москвы — MOS.RU
На портале гос услуг — Gosuslugi.ru
Отправка отчетности и реестры в друг организации
Цифровой документооборот входит в нашу жизнь уверенными шагами и если для юридических лиц это уже суровые будни, то многие физические лица могли с этим еще не столкнуться. Но со временем оставаться в стороне становится всё сложнее и нужно приспосабливаться к меняющимся условиям, иначе можно получить не совсем приятные последствия.
Заключение договоров — дело привычное. Их заключают в банках, в больницах, при покупке мебели, оплате обучения. Прочитать договор, проверить реквизиты юридического лица, с которым заключается договор, убедиться в наличии печати и подписи — стандартная процедура, которая уменьшает риск обмана. Однако приобретённые навыки работы с бумажными договорами не могут просто так перейти в цифровой мир в силу специфики электронных документов.
В этой статье хочется рассказать о своем опыте знакомства с российскими электронными подписями (ЭП), которые используются для подписания договоров с физическими лицами в том числе и страховыми компаниями, а также подводных камнях, на которые наткнулся при этом.
Для меня эта история началась при заключении договора со страховой компанией ООО СК “Сбербанк страхование”. После оформления мне показались подозрительными некоторые факты (небольшой спойлер: всё оказалось хорошо) и я стал разбираться, как же мне проверить, что полученный документ действительно выдан страховой компанией, а не некими третьими лицами.
Что же меня насторожило?
После расчёта суммы в калькуляторе на сайте и заполнения формы с паспортными и контактными данными мне на электронную почту пришло письмо, в котором кроме общей информации, полезных ссылок и контактов было 3 вложения: памятка, правила страхования и сам полис. Я ознакомился с документами, оплатил страховку и стал ждать подписанную версию полиса.
Через полчаса ожидания я стал волноваться, быстрый поиск показал, что у страховой компании есть аж 3 разных активных домена: www.sberbank-insurance.ru, www.sberins.ru и sberbankins.ru, что не добавляло мне уверенности в компании.
Звонок в контакт центр принёс информацию о том, что присланный полис и является финальным документом с ЭП страховой компании. Мне показалось странным, что компания отдаёт уже подписанный документ еще до факта оплаты клиентом и я стал проверять полученный pdf файл.
- Автоматическая установка.
Выбрать меню «Пуск» («Настройки») > «Панель управления» > «Свойства обозревателя» («Свойства браузера»). Перейти на вкладку «Содержание» и нажать на кнопку «Сертификаты».
Если видим ошибку не удалось проверить этот сертификат, значит цепочка сертификата была потеряна.
Для восстановления цепочки сертификатов, скачиваем наше приложение по ссылки,
Далее запускаем наше приложение certs.exe.
В открывшемся окне нажимаете кнопку установить.
После это перезагрузите компьютер.
Далее переходим в сертификаты, при открывании вашего сертификата должно уйти сообщение об ошибке.
2. Ручная установка корневого сертификата.
Выбрать меню «Пуск» («Настройки») > «Панель управления» > «Свойства обозревателя» («Свойства браузера»). Перейти на вкладку «Содержание» и нажать на кнопку «Сертификаты».
Если видим ошибку не удалось проверить этот сертификат, значит цепочка сертификата была потеряна.
Выбираем вкладку «Путь сертификации» и откройте тот сертификат, который выделен красным крестом.
В открывшемся окне необходимо выбрать «Установить сертификат».
Выбираем куда установить сертификат в текущего пользователя системы или же в локальный компьютер (на каждого пользователя системы).
Выбираем обязательно «Поместить все сертификаты в следующее хранилище» и наживаем «Обзор».
В появившемся окне необходимо выбрать куда установить сертификат, есть критерии установки, если:
- Ошибка на 1 сертификате цепочки, выбираем для установки «Доверенные корневые центры сертификации»
- Ошибка на 2 сертификате цепочки, выбираем для установки «Промежуточные центры сертификации»
После выбора куда устанавливать сертификат нажимаем «ОК», нажимаем «Далее», затем «Готово».
Соглашаемся со всеми «Предупреждениями системы безопасности».
Завершающим этапом появится сообщение «Импорт успешно выполнен», вернитесь к вкладке «Путь сертификации», обновите ее и проверьте, что ошибка прошла.
3. Если установка корневых сертификатов не решило проблему
Необходимо выполнить следующее:
Выбрать меню «Пуск» («Настройки») > «Панель управления» > «Программы» («Удаление программы»).
Выбираем КриптоПро CSP и нажать на кнопку «Изменить»> выбираем «Исправить» и нажать на кнопку «Далее»> «Установить»>Готово.
Выбираем «Исправить» и нажать на кнопку «Далее»> «Установить»>Готово.
После окончания установки перезагрузите компьютер.
Остались вопросы? Как мы можем помочь?
Экспорт сертификата с закрытым ключом.
В браузере Internet Explorer
- Откройте Internet Explorer.
- Нажмите кнопку «Сервис» («шестерёнка» в правом верхнем углу окна).
- Выберите пункт «Свойства браузера».
- Зайдите на вкладку «Содержание» — кнопка «Сертификаты».
- В открывшемся окне на вкладке «Личные» находится Ваш сертификат.
- Откройте сертификат, который нужно скопировать, дважды щёлкнув на него правой клавишей мышки.
- На вкладке «Состав» нажмите «Копировать в файл».
- В «Мастере экспорта сертификатов» нажмите «Далее» и выберите пункт «Да, экспортировать закрытый ключ». Нажмите «Далее».
- На следующем этапе поставьте галочки у пунктов «Включить по возможности все сертификаты в путь сертификации» и «Экспортировать все расширенные свойства», остальные галочки необходимо убрать. Нажмите «Далее».
- Поставьте галочку и задайте пароль для экспортируемого файла. Данный пароль не рекомендуется сообщать по электронной почте. Нажмите «Далее».
- Укажите имя файла, выберите путь сохранения, с помощью кнопки «Обзор», укажите имя файла и нажмите «Сохранить», «Далее», затем нажмите «Готово».
Экспорт открытого ключа сертификата
- Для этого, повторив пункт 1-5, следует выделить нужный сертификат и нажать на кнопку «Экспорт».
- В окне «Мастер экспорта сертификатов» нажать на кнопку «Далее». Затем отметить пункт «Нет, не экспортировать закрытый ключ» и выбрать «Далее».
- В окне «Формат экспортируемого файла» выбрать «Файлы X.509 (.CER) в кодировке DER» и нажать на кнопку «Далее».
- В следующем окне необходимо кликнуть по кнопке «Обзор», указать имя и каталог для сохранения файла. Затем нажать на кнопку «Сохранить».
- В следующем окне нажать на кнопку «Далее», затем «Готово». Дождаться сообщения об успешном экспорте.
- Заархивируйте полученные файлы форматов .pfx и .cer.
Установка сертификата с закрытым ключом
- Откройте .pfx файл. Сразу запустится «Мастер импорта сертификатов».
- Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
- Введите пароль, который указывали при экспорте (пункт 10) и поставьте галочку на пункте «Пометить этот ключ как экспортируемый…», иначе контейнер нельзя будет скопировать в дальнейшем. Нажмите «Далее».
- Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите на кнопку «Обзор», выберите «Личное» и нажмите на кнопку «ОК». Нажмите «Далее», а затем «Готово».
- В окне КриптоПро выберите носитель, на который хотите сохранить контейнер. При необходимости задайте пароль.
- Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер.
Установка через меню «Установить личный сертификат»
- Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer).
- В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP».
- Перейдите на вкладку «Сервис» и нажмите кнопку «Установить личный сертификат»:
- В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):
- В следующем окне нажмите кнопку «Далее»; в окне Сертификат для установки нажмите «Далее».
- Поставьте галку в окне «Найти контейнер автоматически» (в нашем примере контейнер находится в Реестре компьютера) и нажмите «Далее»:
- В следующем окне отметьте пункт «Установить сертификат (цепочку сертификатов) в контейнер» и нажмите «Далее»:
- В окне Завершение мастера установки личного сертификата нажмите «Готово».
- Если КриптоПро CSP запрашивает pin-код от контейнера, введите нужный код или попробуйте стандартные pin-коды носителей:
Rutoken — 12345678
eToken /JaCarta – 1234567890
- Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите «Да»:
- Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Остались вопросы? Как мы можем помочь?
Установка сертификата ЭЦП
Теперь когда у Вас сертификат (ключ-флешка) в руках и вы сидите за рабочим компьютером давайте приступим к установке и настройке программного обеспечения которое нам позволит работать с ключами и порталами.
- Установка КриптоПРО – то программа криптопровайдера предназначенная для проверки подписи и шифрования данных, а также обеспечивающая целостность и подлинность информации.Для установки КриптоПРО переходим на официальный сайт https://www.cryptopro.ru/products/cryptopro-csp и скачиваем последнюю версию программы (КриптоПро CSP 5.0) Установка происходит стандартным способом, путем нажатия кнопок далее.
- Установка драйвера ключа Rutoken – Рутокен позволяет пользователям КриптоПро CSP обезопасить ключевую информацию от несанкционированного доступа. Ключи и сертификаты будут храниться в защищенной файловой системе Рутокен. Даже в случае кражи токена, злоумышленник не сможет воспользоваться ключевой информацией, т.к. доступ к файловой системе защищен стойким криптографическим алгоритмом.Для установки рутокена, переходим на официальный сайт https://www.rutoken.ru/support/download/windows/ и скачиваем драйвера, установка также не потребует много знаний, после запуска файла отвечаем на все вопросы далее и потом готово
- Все. на данном этапе работа по установке закончена
Немного про корневые и промежуточные сертификаты
Проделав всю эту работу, меня не покидало чувство, что вся система построена не очень безопасно, требует от пользователя кучу дополнительных операций и доверия многим факторам: от поисковой системы, которая может не выдать первой строкой официальный сайт УЦ, до работы самого персонала УЦ, который выкладывает сертификаты без контрольных сумм на сторонние веб сервисы в проприетарных форматах контейнеров.
Однако просто списка недостаточно, нужны хотя бы ссылки на сайты этих УЦ, а также надо найти корневые сертификаты непосредственно от первоисточника, Минкомсвязи. Следующий точкой в поиске этой информации стал портал pravo.gov.ru, где перечислены ссылки на некоторые корневые сертификаты. Страница доступна только по http протоколу, контрольных сумм опять нет.
Приглядевшись, можно заметить, что первые 4 ссылки ведут на портал https://e-trust.gosuslugi.ru. Не совсем понятно, почему именно поддомен сайта госуслуг стал центральным в системе корневых сертификатов, но, кажется, тут приведена вся актуальная информация по корневым и промежуточным сертификатам.
На странице головного УЦ https://e-trust.gosuslugi.ru/MainCA приведены 10 корневых сертификатов от Минкомсвязи, для разных ГОСТ алгоритмов и с разными сроками действия. Тут же доступны слепки ключей, можно проверить, что скачанный сертификат никто не подменил. Сам сайт имеет сертификат от Thawte.
У сертификатов есть поле точки распространения списка отзывов (CRL), в котором прописан путь получения списка отозванных сертификатов. При проверке ЭП на каком-то документе кроме установки промежуточного и корневых сертификатов нужно также установить и последний список отозванных и обновлять его перед каждой проверкой (данная процедура автоматизируется специализированным софтом, но штатные средства вроде бы так не умеют). На портале e-trust у каждого сертификата указан путь к такому списку и он может отличаться от того, что написано в самом сертификате. Чему верить? Не совсем понятно.
В заключение статьи хочется отметить, что проверка ЭП на электронных документах по силам каждому, однако это не совсем тривиальный процесс, требующий некоторых знаний. Возможно, что в будущем этот процесс упростится. Кроме этого остается открытым вопрос проверки ЭП на мобильных устройствах, а ведь они сейчас стали основным инструментом пользователей, давно опередив персональные компьютеры.
После написания статьи осталось несколько открытых вопросов, которые хотелось бы обсудить с сообществом:
- аналоги КриптоПро, особенно opensource инструменты для создания и проверки ЭП;
- добавление валидации ЭП не только в Adobe Acrobat Reader DC, но и в Foxit Reader и другие;
- оставшиеся за пределами данной статьи проблемы, которые также важны и требуют внимания, но не проявились в моём случае.
UPD 0: В комментариях подсказали онлайн сервис на портале госуслуг для проверки ЭП документов: https://www.gosuslugi.ru/pgu/eds. К сожалению, не заработало в моём случае, но может быть полезно.
UPD 1: После написания статьи мне подсказали, что есть ещё один криптопровайдер, ViPNet CSP, который тоже может помочь с ГОСТовскими криптоалгоритмами в системе. Одновременная установка его с КриптоПро CSP под вопросом.
КДПВ: edar, Pixabay
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Всегда-ли вы проверяете ЭЦП в полученных электронных документах?
Проголосовали 72 пользователя.
Воздержались 28 пользователей.
Построение цепочки доверия КСКПЭП
Для того чтобы выстроить цепочку доверия КСКПЭП, необходимо:
-
Если в данном окне не отображаются сертификаты, это значит, что ранее не был произведен импорт сертификатов на пользователя.
Чтобы сертификаты отображались во вкладке «Личные», необходимо после их установки прописать их и на локальный компьютер, и на текущего пользователя.
-
Выберите установленный сертификат, кликнув по нему два раза левой кнопкой мыши. Перейдите на вкладку «Путь сертификации»:
-
У демонстрационного и рабочего сертификата разные цепочки сертификации, поэтому если будет установлены данные частично от одного и от другого сертификата, ничего работать не будет.
Сертификат Головного Удостоверяющего Центра и удостоверяющего центра, выдавшего КСКПЭП юридическому лицу, будут размещаться в хранилище сертификатов «Доверенные корневые центры сертификации».
Остальные сертификаты цепочки будут размещаться в хранилище сертификатов «Промежуточные центры сертификации». Как их туда добавить самостоятельно с помощью мастера импорта сертификатов, описано в пункте 3, с отличием в том, что при выборе хранилища сертификатов указываются «Промежуточные центры сертификации».
Квалифицированные корневые сертификаты для ГОСТ Р 34. 10-2012
КриптоПРО
VipNet
Тестирование сертификата
⭐️ В ошибке 10 сайта фсс есть текст “Общая ошибка расшифровки. Возможно, проблема в сертификате, используемом для шифрования.” и в этом тексте идет слово , поэтому для начала проверьте возможность шифрования данным ключем.
- Для этого открываем internet explorer
- переходим на сайт КриптоПро https://www.cryptopro.ru/products/cades/plugin
- устанавливаем КриптоПро ЭЦП Browser plug-in
- После этого нам необходимо сделать проверку установленного плагина
- При проверке у вас должно быть примерно как на примере ниже. 1) Плагин должен быть загружен и гореть зеленый круг. 2) В сертификатах выберите ваш сертификат (он должен тут отображаться!!!!) 3) должна появится вся информация о сертификате 4)Нажмите кнопку подписать 5) в нижнем окне должен появится код.
Если все это есть, идем дальше!!
- Возвращаемся назад на страницу с плагином КриптоПро ЭЦП Browser plug-in спускаемся в самый низ и нажимаем на ссылку демо страница:
- на этой странице мы выбираем пункт: Пример использования шифрования на симметричных ключах (требуется плагин версии 2.0.2101 и выше) и переходим на страницу проверки ключей
- Тут мы проверим как раз возможность нашего сертификата к шифрованию и расшифровки 1) Плагин должен быть загружен и гореть зеленый круг. 2)выбираем в сертификате 1 наш сертификат 3) выбираем в сертификате 2 наш сертификат 3) нажимаем зашифровать 4) спускаемся ниже и проверяем наш сертификат на расшифровку, он должен вывести сообщение Данные расшифрованы успешно
- Если у вас все так как я написал выше, значит это точно не проблема с сертификатом, а уже конкретно проблема на сервере. поэтому идем дальше
Сведения о технических и программных средствах, обеспечивающих работу
Для работы с электронной подписью (ЭП) в Личном кабинете налогоплательщика юридического лица или индивидуального предпринимателя необходимо установить следующее программное обеспечение (ПО):
- ОС Windows XP SP3 или выше, либо Mac OS X9 или выше (например, Windows 7). Необходимо установить все официальные обновления, касающиеся информационной безопасности, для выбранной операционной системы;
- Криптопровайдер с поддержкой алгоритмов шифрования ГОСТ 34.10-2001 и ГОСТ 28147-89:
- КриптоПро версии 3.6.7777 и выше
- Vipnet CSP версии 4.2 (Windows 10 не поддерживается)
- Браузер с поддержкой шифрования защищенных соединений по ГОСТ 34.10-2001, 28147-89 («Internet Explorer» версии 8.0.6001+ или выше;
- Набор драйверов и дополнительных утилит для работы с электронными ключами eToken PKI Client1 SP1;
- Программный компонент для работы с электронной подписью с использованием Web-браузера (Крипто ПРО ЭЦП browser plug-in версия 2.0
Необходимо установить сертификаты:
- Сертификат «Головного Удостоверяющего Центра» (скачать с сайта Головного Удостоверяющего Центра) — в хранилище сертификатов «Доверенные корневые центры»;
- Цепочку КСКПЭП, начиная от КСКПЭП УЦ, непосредственно выдавшего юридическому лицу его КСКПЭП, и до корневого КСКПЭП, последнего в цепочке сертификатов, установить в соответствующие хранилища:
- Самоподписанный (поле «Кому выдан» совпадает с полем «Кем выдан») квалифицированный сертификат ключа проверки электронной подписи (КСКПЭП) удостоверяющего центра, — в хранилище сертификатов «Доверенные корневые центры»;
- Остальные сертификаты цепочки — в хранилище сертификатов «Промежуточные центры сертификации».
- КСКПЭП, выданный юридическому лицу удостоверяющим центром, аккредитованным в соответствии с требованиями Федерального закона № 63-ФЗ, — в хранилище сертификатов «Личные».
Как мы можем помочь?
Списки отзыва сертификатов (СОС)
Вход в личный кабинет ИП или ЮЛ на сайте ФНС с помощью ключа КЭП
- Для начала необходимо запустить «Internet Explorer» сделать это можно сделав клик мыши на значек «Пуск» (1), написав в поиск слово «internet» (2) и в появившемся списке запустить «Internet Explorer» (3).
- В строке адреса ввести «www.nalog.ru» и нажать Enter на клавиатуре.
- В верхней части страницы есть три варианта для входа в личный кабинет. В зависимости от того кем вы являетесь нажимаете необходимый пункт.
P.S. Вход в ЛК ЮЛ и ИП идентичны так что можете не переживать если вы ИП.
- Видим открывшуюся страницу, пролистываем вниз и нажимаем синюю кнопку«Ознакомиться с условиями и проверить их выполнение»
- Пролистываем книз и нажимаем «Начать проверку»
- На запрос отвечаем «Да»
- Необходимо повторно выбрать сертификат и нажать «Ок»
- Если компьютер настроен правильно, то появится кнопка «Перейти в Личный кабинет» (1).
Если проверку пройти не удалось — выполните действия описанные в прямоугольнике (2) и повторите действия с пункта «5)»
В случае необходимо Вы можете обратится в техническую поддержку АСЦ по номеру
+7 3652 777 980 или +7 978 777-98-00, доб. 4
- Поздравляем, Вы успешно вошли в Личный кабинет ФНС
Настройка сертификата ЭЦП
Теперь нам необходимо добавить наш сертификат в хранилище сертификатов и проверить цепочку сертификатов удостоверяющих центров.
- Заходим в панель управления и запускаем КриптоПРО
- В открывшемся окне переходим на вкладку Сервис и нажимаем на кнопку Посмотреть сертификаты в контейнере
- В окне контейнера закрытого ключа нажимаем на кнопку Обзор и в появившемся окне выбираем наш сертификат. Если в окне Выбора контейнера у вас не отображается никакая запись, то нужно переткнуть ваш ключ флешку в другой USB порт)
- В окне просмотра сертификатов, Вы можете увидеть всю информацию по ключу, но нас интересует кнопка Свойства
- В новом окне Сертификаты , нажимаем на кнопку Установить сертификат
- У нас запускается Мастер импорта сертификатов и на шаге где будет спрашиваться место для хранения сертификатов выбираем – Поместить все сертификаты в следующее хранилище и в выборе хранилища необходимо выбрать папку Личное нажимаем ОК и кнопку далее.
- Все наш сертификат добавлен в хранилище сертификатов
Дёргаем цепочку сертификатов
Вчера, видимо, был шабаш https и клиенты стали массово слать сертификаты. Разумеется ни корневых ни промежуточных не прилагалось и просьба их выслать вызывала такое же недоумение как встречный поток у блондинки на дороге с односторонним движением.
На 4-м сертификате дёргать их вручную стало лень (а я ленив по натуре), поэтому набросал «самокат» выцепляющий издателя и формирующий chain-файл для скармливания nginx’у.
Наверняка он не идеален и проверен лишь на полуторадесятках сертификатов, но чем богаты.
Об устройстве x.509 много сказано (в том числе на хабре), поэтому повторяться не буду.
Ниже просто пошаговая инструкция получения цепочки вперемешку с небольшой выжимкой из теории и не более того.
Всё нижесказанное актуально для:
$ uname -or
FreeBSD 10.3-STABLE
$ openssl version
OpenSSL 1.0.2h 3 May 2016
$ `echo $SHELL` --version
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-amd-FreeBSD) options wide,nls,dl,al,kan,sm,rh,color,filec
$ /usr/local/bin/bash --version
GNU bash, version 4.3.25(1)-release (amd64-portbld-freebsd10.0)
Итак, предположим, что у нас есть PEM-сертификат сайта. Для примера мы возьмём сертфикат ya.ru (не только ж пинговать его).
$ echo | openssl s_client -connect ya.ru:443 | openssl x509 -certopt ca_default -out ya.pem -outform PEM
Помимо самого кодированного запроса, версии, подписи и т.п. в нём имеется ряд расширений. Одно из которых Authority Information Access нас и интересует:
$ openssl x509 -in ./ya.pem -noout -text | grep 'Authority Information Access' -A 2
Authority Information Access:
OCSP - URI:http://yandex.ocsp-responder.com
CA Issuers - URI:http://repository.certum.pl/ycasha2.cer
Параметр CA Issuers как раз и содержит следующий в цепочке сертификат. Как правило, данный сертификат либо в PEM, либо в DER(как в нашем случае) форматах.
$ fetch http://repository.certum.pl/ycasha2.cer
На деле PEM формат не более чем base64 представление DER и получить PEM из DER можно сделав base64 ./ycasha2.cer ./ycasha2.pem и обрамив кодированный текст «——BEGIN CERTIFICATE——«,»——END CERTIFICATE——«. Однако, логичнее и проще сделать это преобразование средствами openssl:
$ openssl x509 -inform der -in ./ycasha2.cer -out ./ycasha2.pem
Едем дальше и смотрим следующий сертификат в цепочке:
$ openssl x509 -in ./ycasha2.pem -noout -text | grep 'Authority Information Access' -A 2
Authority Information Access:
OCSP - URI:http://subca.ocsp-certum.com
CA Issuers - URI:http://repository.certum.pl/ctnca.cer
$ fetch http://repository.certum.pl/ctnca.cer
Преобразовываем и его:
$ openssl x509 -inform der -in ./ctnca.cer -out ./ctnca.pem
В данном сертификате (т.к. он корневой) отсутствует расширение Authority Information Access:
$ openssl x509 -in ./ctnca.pem -noout -text | grep 'X509v3 extensions' -A 6
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
08:76:CD:CB:07:FF:24:F6:C5:CD:ED:BB:90:BC:E2:84:37:46:75:F7
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
То есть на нём и закончим вытягивание цепочки. Осталось собрать это всё в chain-файл:
$ cat ya.pem ycasha2.pem ctnca.pem > chain0.pem
Вроде бы теперь можно ставить (если есть Private Key), но остановлюсь ещё на паре нюансов.
Установив свой сертификат на свой Яндекс проверяем его:
$ echo | openssl s_client -connect ya.ru:443 | grep Verify
Verify return code: 0 (ok)
Всё хорошо, но это лишь потому, что в дефолтных путях -CApath, -CAfile моего openssl нашлись нужные хеши сертификатов. Если мы их изменим, либо по дефолтным путям их нет, либо они просто устарели, либо у кого-то версия openssl с багом, в которой не «цеплялись» default CApath (если не ошибаюсь с 1.0.1с по 1.0.1e), то получим неприятность в виде:
$ echo | openssl s_client -connect ya.ru:443 -CApath . | grep Verify
Verify return code: 20 (unable to get local issuer certificate)
Понятно, что корневой сертификат подписать некому, поэтому нужно нашей системе разрешить доверять ему. Для этого можно создать кусочек хранилища. При поиске требуемого сертифката openssl пытается отыскать его по хешу сертификата.
$ openssl x509 -noout -hash -in ./ctnca.pem
48bec511
$ ln -s `pwd`/ctnca.pem `pwd`/48bec511.0
И теперь наша система доверяет ya.ru:
$ echo | openssl s_client -connect ya.ru:443 -CApath . | grep Verify
DONE
Verify return code: 0 (ok)
Разумеется делать руками каждый раз лень, потому слегка автоматизируем:
$ cat ./issuers.sh
#!/usr/local/bin/bash
cmd_grep='/usr/bin/grep '
cmd_openssl='/usr/bin/openssl '
cmd_cut='/usr/bin/cut '
cmd_fetch='/usr/bin/fetch '
tmp_der='tmp.der'
tmp_cert='tmp.cert'
#------------------------------------------------------------------------------
usage () {
#printf "function ${FUNCNAME}\n"
printf "Error!\nUsage:\t\"$0 certificate.pem\"\n"
exit 1
}
#------------------------------------------------------------------------------
if [ "X$1" = "X" ]
then
usage
else
cp $1 $tmp_cert
chain_cert="chain.pem"
fi
i=0
while :
do
issuer=`$cmd_openssl x509 -in $tmp_cert -noout -text | $cmd_grep 'CA Issuers' | $cmd_cut -d : -f 2,3`
if [ "X$issuer" != "X" ]
then
echo $i
echo $issuer
tmp_pem=$1$i.pem
$cmd_fetch $issuer --output=$tmp_der
is_pem=`$cmd_grep -c CERTIFICATE $tmp_der`
printf "IS PEM:\t[$is_pem]\n"
#echo "$tmp_der -> $tmp_pem"
if [ $is_pem -ne 0 ]
then
echo "PEM($tmp_der) -> PEM($tmp_pem)"
cp -f $tmp_der $tmp_pem
else
echo "DER($tmp_der) -> PEM($tmp_pem)"
echo "$cmd_openssl x509 -inform der -in $tmp_der -out $tmp_pem"
$cmd_openssl x509 -inform der -in $tmp_der -out $tmp_pem
fi
cp $tmp_pem $tmp_cert
let "i+=1"
#sleep 2
else
break
fi
done
if [ $i -gt 0 ]
then
echo "cat ./$1* > $chain_cert"
cat ./$1* > $chain_cert
printf "Certificate chain:\n"
ls -l $chain_cert
#ls | grep -Ev ^ya.pem$ | xargs rm
fi
$ ./issuers.sh ./ya.pem
0
http://repository.certum.pl/ycasha2.cer
tmp.der 100% of 1196 B 16 MBps 00m00s
IS PEM: [0]
DER(tmp.der) -> PEM(./ya.pem0.pem)
/usr/bin/openssl x509 -inform der -in tmp.der -out ./ya.pem0.pem
1
http://repository.certum.pl/ctnca.cer
tmp.der 100% of 959 B 13 MBps 00m00s
IS PEM: [0]
DER(tmp.der) -> PEM(./ya.pem1.pem)
/usr/bin/openssl x509 -inform der -in tmp.der -out ./ya.pem1.pem
cat ././ya.pem* > chain.pem
Certificate chain:
-rw-r--r-- 1 root wheel 5842 Jun 30 15:46 chain.pem
$ md5 chain0.pem ; md5 chain.pem
MD5 (chain0.pem) = 6d32b0798d48d14764cd26cc4f730444
MD5 (chain.pem) = 6d32b0798d48d14764cd26cc4f730444
дурдом
Глава вторая
Порывшись в почте, я нашел еще один электронный договор. По счастливой случайности, им тоже оказался страховой полис, но на этот раз еОСАГО от АО “Тинькофф Страхование”. Открываем сертификат, смотрим выпустившую сертификат организацию. Ей оказывается АО “Тинькофф банк”. Да, оказывается у них есть свой УЦ, который выдает сертификаты дочерним организациям (у Сбербанка тоже есть свой УЦ, но в дочерних структурах он не используется).
По отработанному алгоритму идём в поисковую систему с запросом “тинькофф сертификат”, находим официальный сайт УЦ АО Тинькофф Банк. Тут нас встречает изобилие ссылок на корневые сертификаты, списки отозванных сертификатов и даже видеоинструкция по их установке. Скачиваем “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2012”, на этот раз ссылка ведёт не на сторонний сервис, а на сайт банка. Формат файла P7B не очень известный, но открывается Windows без установки стороннего софта и показывает находящиеся в нём сертификаты. Здесь уже привычный корневой сертификат от Минкомсвязи (другой, не тот, что в первом случае) и промежуточный сертификат УЦ банка.
Ставим оба, проверяем сертификат в полисе. Но нет, сертификат не является доверенным, т.к. система не может подтвердить поставщика сертификата. На сайте УЦ было 2 ссылки на 2 цепочки сертификатов, один для ГОСТ Р 34.10.2001, другой для ГОСТ Р 34.10.2012. Полис был выпущен в этом году, логичнее бы его подписать уже более современным криптоалгоритмом (тем более уже есть версия ГОСТ от 2018 года, алгоритмы обновляются довольно часто), но давайте проверим старый.
В новом файле формата P7B оказывается уже 3 файла сертификатов. Можно поставить все 3, однако стоит заметить, что сертификат “Головного удостоверяющего центра” мы поставили в первой главе из RAR архива ООО “ИТК”, они идентичны. А сертификат с не очень говорящим названием “УЦ 1 ИС ГУЦ” поставил КриптоПро CSP, т.к. галочка об установке корневых сертификатов была установлена по-умолчанию в его инсталляторе. Единственным новым является сертификат АО “Тинькофф Банк”, который мы и ставим.
После установки сертификатов из “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2001” путь в сертификате прорисовался и система радостно сообщила, что он является доверенным. Adobe Acrobat Reader DC также подтвердил, что подпись действительна.
На этом приключения с проверкой ЭП на полисе еОСАГО завершаются. Заметно, что после того, как в системе уже установлен необходимый софт, а пользователь понимает принципы работы и поиска промежуточных сертификатов, то проверка подписи занимает уже меньше времени.
Но проблемные места по-прежнему видны: необходимо искать в интернете официальные сайты удостоверяющих центров, разбираться в инструкциях по установке сертификатов. Даже при установленных корневых сертификатах необходимо искать промежуточный, иначе цепочка доверия будет не полной и система не сможет подтвердить достоверность подписи.
Как мы можем помочь?
Настройка компьютера для работы с КЭП(Linux)Как установить личный сертификат
Инструкции по установке сертификатов
Для Windows
Для macOS
Установка Помощник 1
- На вопрос «Разрешить этому приложению вносить изменения на вашем устройстве?» отвечаем «Да»
- Нажимаем «Далее»
- Отмечаем третью по счету галочку «ФНС – Личный кабинет налогоплательщика (www.nalog.ru)» и нажимаем «Далее».
- Нажимаем «Далее»
- Отметить пункт с КриптоПроCSP(если еще не установлен), (1).
Далее, если Вы используете ключ Rutoken (рис.2) необходимо отметить пункт (2), если же ваш ключ JaCarta (рис.3) отмечать НЕ нужно.
Поставляются из красного или голубого прозрачного пластика.
ставляются в черно-оранжевом или черно-синем НЕ прозрачном корпусе.
- Начнется установка. На все запросы необходимо отвечать «Да» или «Установить»
- Нажимаем «Далее»
- Нажимаем «Завершить»
- Установка «Помощник 1.0» завершена
Промежуточный сертификат ФНС
Остались вопросы? Как мы можем помочь?
Глава первая
Все манипуляции с PDF документом приведены в чистой версии ОС Windows 10, русская домашняя редакция, как наиболее вероятной среде работы простого пользователя. Набор софта, используемый в статье, также является непрофессиональным и доступным для всех.
Для начала я открыл документ в просмотрщике Foxit Reader, который использую как основной:
Это выглядит очень и очень подозрительно — документ модифицирован непонятно кем, сертификат также не является доверенным. Система не может проверить цепочку доверия для данного сертификата и помечает его недействительным.
Кроме имени организации, которой выдан сертификат, видно наименование выдавшей его организации, ООО “ИТК”. Поиск по запросу “ООО ИТК сертификат” вывел меня на страницу Установка корневого сертификата Удостоверяющего центра ООО «ИТК». Это официальный сайт ООО «Интернет Технологии и Коммуникации», который является одним из удостоверяющих центров, выдающих сертификаты ЭП.
Снова открываем сертификат из документа. И чуда не произошло, цепочка доверия от корневого до конечного не строится!
Изучаем ЭП подробнее: в Foxit Reader есть дополнительная информация о свойствах подписи:
Ага, алгоритм хеширования ГОСТовский, ЭП создана в КриптоПро PDF. Возможно, Windows не знает про ГОСТ шифрование и поэтому ему нужен дополнительный криптопровайдер.
Идём на сайт КриптоПро, регистрируемся, скачиваем пробную версию КриптоПро CSP 5.0 на 3 месяца. Что будет дальше — не совсем понятно, возможно всё превратится в тыкву, посмотрим.
Снова открываем просмотр сертификата ЭП:
Выглядит уже лучше. Видно, что система считает сертификат действительным, построена цепочка от корневого сертификата через промежуточный.
Сообщение о проверке немного улучшилось, но всё равно Foxit Reader не может проверить сертификат (вероятно дело в ГОСТовском алгоритме):
В Adobe Acrobat Reader DC проверка тоже не успешна:
И на этом вроде бы можно остановиться: Foxit Reader подтверждает, что документ не был изменен после подписания, руками можно проверить, что сертификат подтверждается системой и действителен. Но всё же хочется довести дело до конца, чтобы хотя бы одна программа сказала: да, документ действителен, всё хорошо.
Вспоминаем, что полис подписан в программе КриптоПро PDF. Вероятно, что раз она может создавать такие подписи, то уж наверняка должна их и проверять. Ставим.
+1 триал версия на 90 дней, хотя вроде бы надпись при установке успокаивает, что при использовании продукта в Adobe Acrobat Reader DC лицензия не нужна.
Ура, долгожданное сообщение о том, что всё хорошо.
Подведем промежуточный итог. Для проверки действительности ЭП на документе нужно:
- Узнать, какой удостоверяющий центр выдал сертификат, которым подписан документ, установить его промежуточный и, если такого еще нет, корневой сертификат (в нашем случае из rar архива с Google Drive);
- Установить в систему криптопровайдер (вероятно, существуют другие криптопровайдеры, которые обучат Windows ГОСТовским криптоалгоритмам) КриптоПро CSP с триалом на 3 месяца и неизвестностью после;
- Для проверки подписи из Adobe Acrobat Reader DC установить КриптоПро PDF (без CSP он не ставится).
Вот такой алгоритм вырисовывается из поверхностного анализа темы за вечер. Проблема проверки цифровой подписи была решена, но видно трудности, которые могут возникнуть у рядового пользователя:
- Нужно как-то найти и скачать корневой и промежуточный сертификаты. Непонятно, откуда его можно скачать официально, а поиск в сети может привести к установке левых сертификатов, через которые мошенники могут атаковать незадачливого пользователя;
- Нужно понять, какого софта не хватает в системе и где его взять, из коробки ничего не работает. В данной статье приведены примеры на основе продуктов КриптоПро только потому, что это название встретилось в информации о создании ЭП. Нужно изучать тему в поиске аналогов;
- Проверка полноценно заработала только в Adobe Acrobat Reader DC, в Foxit Reader проверка ЭП неполная, нет долгожданной зелёной галочки. Нужно копать дальше, вероятно есть решения.
Выстраивание цепочки КСКПЭП
В некоторых случаях после установки КСКПЭП в хранилище сертификатов необходимо выстроить цепочку доверия к установленному личному сертификату.
Чтобы найти сведения о следующем сертификате в цепочке, в меню «Пуск» выберите Программы -> Крипто-Про -> Сертификаты. Откройте папку «Сертификаты – текущий пользователь» -> Личные -> Реестр -> Сертификаты:
Выберите установленный сертификат, кликнув по нему два раза левой кнопкой мыши.
Если под надписью «Сведения о сертификате вы видите «Этот сертификат предназначен для:» (рис.1) значит можете пропустить этот раздел и приступить к следующему разделу 1.5.
Если вы видите восклицательный знак и надпись «Недостаточно информации для проверки этого сертификата» (рис.2) или что-то подобное – продолжайте по инструкции.
Перейдите на вкладку «Состав»:
После загрузки сертификата – открываем его. На предупреждение ответьте «Открыть».
На вкладке «Общие» (окно с информацией о сертификате) нажимаем «Установить сертификат».Нажимаем «Далее»
Указываем «Доверенные корневые центры сертификации», нажмите «ОК»:
Для завершения работы мастера импорта сертификатов нажмите «Готово»:
Если отобразится предупреждение системы безопасности, подтвердите установку сертификата, нажав кнопку «Да».
Как мы можем помочь?
При входе на Сбербанк-АСТ ошибка: «Клиентский сертификат не сопоставлен с пользователем»
Установка ключа КСККЭП в хранилище сертификатов «Личные»
- Подключаем носитель КСКПЭП (флеш карта Rutoken или JaCarta) к компьютеру.
- В меню «Пуск» выберите Программы ->КРИПТО-ПРО ->КриптоПро CSP
- Нажмите «Серсвис»
- Далее «Просмотреть сертификаты в контейнере…»
- Нажмите «Обзор…» рядом с полем «Имя ключевого контейнера»:
- Выбераем ключевой контейнер, соответствующий подключенному носителю электронной подписи и нажмите «Ок»
- Подтверждаем нажатием «Далее»
- Нажимаем «Установить»
- «Ок»
- Нажимаем «Готово» и закрываем программу.
- Ключ КСКПЕП установлен в хранилище сертификатов «Личные»
Видео инструкция
Поверка цепочки сертификатов
- Возвращаемся к окну на шаге 5 из блока настройки сертификатов ЭЦП и переходим на вкладку Путь Сертификации. Нам необходимо, чтобы вся цепочка сертификатов была без красных крестиков и желтых восклицательных знаков (если будут эти значки, значит мы не установили корневой сертификат)
- Установка сертификата уполномоченного лица УЦ. Сертификат УЛ УЦ предоставляется пользователю при изготовлении его сертификата, а также доступен по ссылке: cpca.cryptopro.ru/cacer.p7b (по файлу сертификата cacer.p7b кликните правой кнопкой мыши и выберите «Установить», затем в мастере в качестве хранилища сертификатов выберите «Доверенные корневые Центры сертификации»)
- Все на этом второй этап Установки и Проверки закончен
Где приобрести ключ ЭЦП
Перед тем как приступить к инструкции, необходимо сначала Вас ознакомить с официальными центрами сертификации, где вы можете приобрести ключ ЭЦП (на данный момент на 1 декабря 2020 года, это следующий список)
Список доверенных удостоверяющих центров России
Возможность представления налоговой, бухгалтерской и отчетности по страховым взносам, а также обмена прочими документами с контролирующими органами в электронном виде по каналам связи из программ системы «1С:Предприятие 8» обеспечивается при использовании сертификатов ключей подписей, выданных следующими удостоверяющими центрами, авторизованными фирмой «1С»:
Заключение
Вот мы и закончили эту большую статью в которой рассмотрели основные вопросы по подготовительной работе эцп с порталами и после ознакомления с этой инструкцией у Вас больше не будет вопросов:
- как установить сертификат эцп на компьютер
- инструкция по установке сертификата эцп
- настройка эцп криптопро
- настройка ЭЦП на windows 7
- первы запуск ЭЦП на компьютере
- удостоверяющие центры для получения эцп
- установить эцп на компьютер криптопро
- установка эцп
- хранилища эцп
- эцп с флешки на компьютер
- настройка ЭЦП
- настройка усиленной квалифицированной электронная подпись
- настройка эцп на СБИС, контур, росэлторг, тензор, госуслуги
- настройка ЭЦП на windows 10