ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

Содержание
  1. Инструкция по созданию файла, подписанного ЭЦП, с использованием ПО КриптоПро
  2. КриптоПро CSP
  3. Инструменты КриптоПро
  4. Установка сертификатов
  5. Создание подписанного документа
  6. Заключение
  7. где certs — сертификаты из хранилища, см выше i — порядковый номер сертификата от 1 (обратите внимание) до certs. Count. Обратите внимание, что, в случае «кривых» сертификатов, вернуться может и undefined, имеет смысл сделать один дефолтный УЦ для таких случаев. Теперь мы знаем список УЦ, услугами которых воспользовался клиент. Запоминаем их и выведем через optgroup. Сам text у option будет таким: cert. GetInfo + ‘ (‘ + formatDate(cert. ValidFromDate) + ‘ — ‘ + formatDate(cert. ValidToDate) + ‘)’ в cert. GetInfo — кому выдан сертификат в ValidFromDate — с какого срока сертификат начал/начнет действие в ValidToDate — соответственно, до какого срока Ну и форматирование даты стандартное: Еще можно подсветить option. Зеленым — для работоспособных сертификатов, красным — нет. Информацию можно получить при помощи самого сертификата. Стоит отметить, что сама по себе данная проверка имеет малую ценность, ибо все причины не может отсечь. Но самые базовые, например, проверка даты — проверяет. В value у option запишем отпечаток cert. Thumbprint. Можно порядковый номер записать, можно другие данные — на ваше усмотрение. Подписание Ну и, собственно, самый главный шаг, к которому мы стремились — подписание. 1) Находим выбранный сертификат. Для нашего примера: 0 — означает, что мы ищем по отпечатку 1 — что используем первый результат выборки (по факту единственный) где cert — сертификат, при помощи которого подписываем text — собственно, что подписываем Ну а в return возвращается подписанное сообщение. p.s. По максимуму код постарался вычистить от специфики проекта. Если кому-то этот материал пригодится и будет интересно — напишу и серверную часть. Проверка подписанного сообщения (с цепочкой и без), проверка сертификата (ocsp и без), использования tsp и т.д. Часто к нам обращаются с вопросом, как установить сертификат через КриптоПpo CSP. Ситуации бывают разные: сменился директор или главбух, получили новый сертификат в удостоверяющем центре и т.п. Раньше все работало, а теперь нет. Рассказываем, что нужно делать, чтобы установить личный цифровой сертификат на компьютер. Вы можете установить личный сертификат двумя способами: 1. Через меню КриптоПро CSP «Просмотреть сертификаты в контейнере» 2. Через меню КриптоПро CSP «Установить личный сертификат» Если на рабочем месте используется операционная система Windows 7 без SP1, то устанавливать сертификат следует по рекомендациям варианта № 2. Вариант № 1. Устанавливаем через меню «Просмотреть сертификаты в контейнере» Чтобы установить сертификат: 2. В открывшемся окне нажмите на кнопку “Обзор”. Выберите контейнер и подтвердите свой выбор кнопкой ОК. 3. В следующем окне нажмите “Далее”. Если появится сообщение “В контейнере закрытого ключа отсутствует открытый ключ шифрования”, перейдите к установке цифрового сертификата по варианту № 2. 4. Если на вашем компьютере установлена версия “КриптоПро CSP” 3.6 R2 (версия продукта 3.6.6497) или выше, то в открывшемся окне нажмите на кнопку “Установить”. После этого согласитесь с предложением заменить сертификат. Если кнопка “Установить” отсутствует, в окне “Сертификат для просмотра” нажмите кнопку “Свойства”. 6. В окне “Мастер импорта сертификатов” выберите “Далее”. 7. Если у вас уставлена версия “КриптоПро CSP” 3.6, то в следующем окне достаточно оставить переключатель на пункте “Автоматически выбрать хранилище на основе типа сертификата” и нажать “Далее”. Сертификат будет автоматически установлен в хранилище “Личные”. 8. В следующем окне нажмите “Далее”, затем “Готово” и дождитесь сообщения об успешной установке сертификата: “Импорт успешно выполнен”. Вариант 2. Устанавливаем через меню «Установить личный сертификат» Для установки вам понадобится, собственно, сам файл сертификата (с расширением .cer). Он может находиться, например, на дискете, на токене или на жестком диске компьютера. 2. В окне “Мастер установки личного сертификата” нажмите на кнопку “Далее”. В следующем окне, чтобы выбрать файл сертификата, нажмите “Обзор”. 3. Укажите путь к сертификату и нажмите на кнопку “Открыть”, затем “Далее”. 4. В следующем окне вы можете просмотреть информацию о сертификате. Нажмите “Далее”. 5. На следующем шаге введите или укажите контейнер закрытого ключа, который соответствует выбранному сертификату. Для этого воспользуйтесь кнопкой “Обзор”. 6.  Выбрав контейнер, нажмите “Далее”. 7. Дальше вам необходимо выбрать хранилище, куда будет установлен сертификат. Для этого в окне “Выбор хранилища сертификатов” нажмите на кнопку “Обзор”. Если у вас установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, поставьте флаг “Установить сертификат в контейнер”. 8. Выберите хранилище “Личные” и нажмите ОК. 9. Хранилище вы выбрали. Теперь нажмите “Далее”, затем — “Готово”. После этого может появиться сообщение: В этом случае нажмите “Да”. 10.  Дождитесь сообщения об успешной установке личного сертификата на компьютер. Все, можно подписывать документы, используя новый сертификат. КриптоПро для работы с электронной подписью Программное обеспечение, необходимое для работы с электронной подписью, в соответствии с Федеральным законом № 63-ФЗ «Об электронной подписи» Вы уже получили сертификат ЭПВы получили электронную подпись ЮЛ/ИП в удостоверяющем центре ФНС России, Банка России, Федерального казначейства или организации, осуществляющией деятельность в соответствии с Федеральным законом от 10 июля 2002 года N 86-ФЗ. Установка КриптоПро CSPВам необходимо программное обеспечение для работы с электронной подписью и российской криптографией. Мы предоставляем 90-дневный ознакомительный период с работой всех функций программы КриптоПро CSP, за это время вам необходимо определиться в выборе подходящей лицензии. Портал ФНС РоссииПорядок получения электронной подписи, куда можно обратиться за получением электронной подписи – смотрите актуальную информацию на официальном портале ФНС России. Для безопасного хранения электронной подписи вам понадобится специальный защищённый носитель – токен. В удостоверяющем центре на предоставленный вами токен будут записаны ключи от вашей электронной подписи. Скачать По требованиям законодательства для скачивания необходимы идентификационные данные: Форма для скачивания Я подтверждаю своё согласие на передачу информации (в том числе персональных данных) в электронной форме в ООО «КРИПТО-ПРО» и дальнейшую её обработку в соответствии с законодательством Российской Федерации. Политика обработки данных Юридическое лицо, ИП Поставка Лицензии на бумаге Срок поставки: Курьерской службой в пределах МКАД – 3-4 рабочих дня с даты оплаты счёта. Поставка в регионы – см. Тарифы и сроки. Почтой России – согласно установленных Почтой России сроков доставки. Техническая поддержка: через портал ТП support.cryptopro.ru, опционально. Физическое лицо Поставка Лицензии в электронном виде (файл pdf) Срок поставки: Не позднее 1 рабочего дня, следующего за оплатой. Техническая поддержка: : включена 3-х летняя техническая поддержка через портал . Можно купить для нужд юридического лица и ИП. Получение электронной подписи Для безопасного хранения электронной подписи вам понадобится специальный защищённый носитель – USB-токен. В удостоверяющем центре на предоставленный вами USB-токен будут записаны ключи от вашей электронной подписи. Начало работы с электронной подписью На данный момент популярные операционные системы (Windows, macOS и др.) по умолчанию не поддерживают российские криптографические алгоритмы, а для работы с электронной подписью, отвечающей требованиям закона, они необходимы. КриптоПро CSP – специализированное программное обеспечение, добавляющее в операционную систему вашего устройства необходимые алгоритмы работы с российской криптографией. Установка программы позволяет работать с электронной подписью соответствующей Федеральному закону № 63-ФЗ «Об электронной подписи». Согласно википедии  сертификат открытого ключа он же файл открытого ключа, электронная цифровая подпись, сертификат ключа подписи, сертификат ключа проверки электронной подписи (согласно ст. 2 Федерального Закона от 06.04.2011 «Об электронной подписи» № 63-ФЗ) —  цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа. Содержит информацию о владельце ключа, сведения об открытом ключе, его назначении и области применения, название центра сертификации. Открытый ключ может быть использован для организации защищённого канала связи с владельцем двумя способами: Для того чтобы обмениваться зашифрованными сообщениями, сначала нужно обменяться сертификатами открытого ключа. Сообщение шифруется с помощью открытого ключа получателя и расшифровывается его закрытым ключом. Экспорт файла открытого ключа можно осуществить следующими способами: 1. Экспорт из хранилища Личные: Настройки  / Свойства обозревателя/ Содержание и нажать на кнопку Сертификаты. 2. Экспорт файла открытого ключа с помощью КриптоПро CSP: Если экспортировать сертификат не удалось ни первым, ни вторым способом, то для получения файла открытого ключа следует обратиться в службу технической поддержки удостоверяющего центра, где был получен ваш сертификат. Информацию об удостоверяющем центре можно посмотреть в самом сертификате. После экспорта файла открытого ключа мы можем переслать его тому человеку, с которым планируем обмениваться зашифрованными сообщениями. Для того чтобы зашифровать документ вам потребуется КриптоПРО CSPКриптоAPM. Дополнительных настроек, кроме размещения файла сертификата открытого ключа в хранилище Сертификаты других пользователей, как правило не требуется. Если инструкция показалась вам полезной -делитесь ей, кнопки для этого вы найдете прямо под статьей. Усовершенствованная подпись КРИПТО-ПРО. Новое средство обеспечения юридической значимости электронных документов Компания КРИПТО-ПРО предлагает Стандарт применения усовершенствованной электронной цифровой подписи. Опыт КРИПТО-ПРО – ведущей российской компании в области технологии ЭЦП – свидетельствует, что при использовании «классической» ЭЦП в юридически значимом электронном документообороте, в случае возникновения спора достаточно трудно, а подчас и невозможно, доказать подлинность ЭЦП и момент подписи (создания) ЭЦП. Эти трудности могут привести к тому, что арбитр не примет электронный документ в качестве письменного доказательства. Данные трудности порождаются рядом проблем, присущих «классической» ЭЦП, а именно: нет доказательства момента подписи;трудность доказывания статуса сертификата открытого ключа подписи на момент подписи (или действителен, или аннулирован, или приостановлен). Предлагаемый КРИПТО-ПРО Стандарт применения усовершенствованной подписи позволяет решить все основные трудности, связанные с применением ЭЦП, и обеспечить участников электронного документооборота всей необходимой доказательной базой (причем собранной в самой ЭЦП в качестве реквизитов электронного документа), связанной с установлением момента подписи и статуса сертификата открытого ключа подписи на момент подписи. Формат усовершенствованной подписи основан на европейском стандарте CAdES (ETSI TS 101 733). Версия этого стандарта опубликована в виде RFC 5126 «CMS Advanced Electronic Signatures (CAdES)». Новый формат подписи решает описанные выше и множество других потенциальных проблем, обеспечивая: Доказательство момента подписи документа и действительности сертификата ключа подписи на этот момент Согласно статье 4 ФЗ «Об электронной цифровой подписи», ЭЦП признаётся равнозначной собственноручной подписи в документе на бумажном носителе при условии, что сертификат ключа подписи, относящийся к этой ЭЦП, не утратил силу (действует) на момент проверки или на момент подписания электронного документа при наличии доказательств, определяющих момент подписания. Формат усовершенствованной подписи предусматривает обязательное включение в реквизиты подписанного документа доказательства момента создания подписи и доказательства действительности сертификата в момент создания подписи. Для доказательства момента подписи используются штампы времени, соответствующие международной рекомендации RFC 3161 «Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)». Доказательства действительности сертификата в момент подписи обеспечиваются вложением в реквизиты документа цепочки сертификатов до доверенного УЦ и OCSP-ответов. На эти доказательства также получается штамп времени, подтверждающий их целостность в момент проверки. Проверка подлинности ЭЦП без сетевых обращений Вложение в реквизиты документа всех доказательств, необходимых для проверки подлинности ЭЦП, обеспечивает возможность оффлайн-проверки подлинности ЭЦП. Доступ к репозиторию сертификатов, службам OCSP и службам штампов времени необходим только в момент создания подписи. Архивное хранение Использование усовершенствованной подписи является необходимым условием архивного хранения электронных документов, удостоверенных ЭЦП. В формате усовершенствованной подписи вся необходимая информация для проверки подлинности ЭЦП находится в реквизитах документа. Для сохранения юридической значимости электронных документов при архивном хранении остаётся только обеспечить их целостность организационно-техническими мерами. В этом случае подлинность ЭЦП может быть подтверждена через сколь угодно долгое время, в том числе и после истечения срока действия сертификата ключа подписи. Состав Стандарт применения усовершенствованной электронной цифровой подписи включает в себя: Инструментарий разработчика КриптоПро ЭЦП сертифицирован ФСБ России в составе ПАК «Службы УЦ» версии 1.5. На нашем сайте вы можете получить Инструментарий разработчика КриптоПро ЭЦП SDK. Инструментарий разработчика КриптоПро ЭЦП SDK содержит всю необходимую документацию, библиотеки и исходные файлы для разработки прикладных и серверных приложений, использующих функции создания и проверки усовершенствованной ЭЦП. КриптоПро ЭЦП SDK распространяется свободно. В ряде случаев требуется установить только cades.dll или cadescom.dll, не устанавливая при этом КриптоПро ЭЦП SDK полностью. В таких случаях можно воспользоваться следующими дистрибутивами. Штамп времени, полученный на ЭЦП, удостоверяет время создания ЭЦП для последующего разрешения конфликтов, связанных с использованием электронного документа. Доказательство действительности сертификата ключа подписи на момент подписи Наличие доказательств подлинности ЭЦП в подписанном документе позволяет подтвердить действительность сертификата ключа подписи. Дополнительный штамп времени удостоверяет время сбора доказательств подлинности, а следовательно, позволяет удостовериться в действительности подписи даже если не только сертификат ключа подписи был аннулирован (отозван), но и если аннулирован или отозван был сертификат ключа подписи службы актуальных статусов или сертификаты промежуточных УЦ. Таким образом, сохраняется возможность использования отозванного сертификата для проверки ЭЦП, созданных до момента отзыва. Эта проблема актуальна для всех систем электронного документооборота. Отсутствие необходимости сетевых обращений Доказательства подлинности, входящие в состав усовершенствованной ЭЦП, включают в себя полный набор данных и сертификатов, необходимый для проверки ЭЦП. При этом полностью решается весь круг потенциальных проблем, связанных с необходимостью сетевых обращений — необходимость в подобных обращениях отпадает, поскольку все необходимые данные уже присоединены к ЭЦП. Другие варианты использования Область других возможных вариантов применения усовершенствованной ЭЦП очень широка. Например, усовершенствованная ЭЦП может использоваться для долговременного хранения подписанных документов в тех случаях, когда необходимо выполнять проверку по истечении существенно длинных промежутков времени после создания ЭЦП. Это может быть удобным при организации архивов электронных документов. Отсутствие необходимости сетевых обращений может оказаться полезным в системах, где подобные обращения по тем или иным причинам недоступны либо невозможны, например, в силу установленного режима безопасности. Краткое описание формата усовершенствованной ЭЦП Данный формат включает в себя: Как хранить усовершенствованную ЭЦП совместно с документами Усовершенствованная ЭЦП может храниться как вместе с подписанным документом (в том же файле) так и отдельно от него (в отдельном файле). Цифровой документооборот входит в нашу жизнь уверенными шагами и если для юридических лиц это уже суровые будни, то многие физические лица могли с этим еще не столкнуться. Но со временем оставаться в стороне становится всё сложнее и нужно приспосабливаться к меняющимся условиям, иначе можно получить не совсем приятные последствия. Заключение договоров — дело привычное. Их заключают в банках, в больницах, при покупке мебели, оплате обучения. Прочитать договор, проверить реквизиты юридического лица, с которым заключается договор, убедиться в наличии печати и подписи — стандартная процедура, которая уменьшает риск обмана. Однако приобретённые навыки работы с бумажными договорами не могут просто так перейти в цифровой мир в силу специфики электронных документов. В этой статье хочется рассказать о своем опыте знакомства с российскими электронными подписями (ЭП), которые используются для подписания договоров с физическими лицами в том числе и страховыми компаниями, а также подводных камнях, на которые наткнулся при этом. Для меня эта история началась при заключении договора со страховой компанией ООО СК “Сбербанк страхование”. После оформления мне показались подозрительными некоторые факты (небольшой спойлер: всё оказалось хорошо) и я стал разбираться, как же мне проверить, что полученный документ действительно выдан страховой компанией, а не некими третьими лицами. Что же меня насторожило? После расчёта суммы в калькуляторе на сайте и заполнения формы с паспортными и контактными данными мне на электронную почту пришло письмо, в котором кроме общей информации, полезных ссылок и контактов было 3 вложения: памятка, правила страхования и сам полис. Я ознакомился с документами, оплатил страховку и стал ждать подписанную версию полиса. Через полчаса ожидания я стал волноваться, быстрый поиск показал, что у страховой компании есть аж 3 разных активных домена: www.sberbank-insurance.ru, www.sberins.ru и sberbankins.ru, что не добавляло мне уверенности в компании. Звонок в контакт центр принёс информацию о том, что присланный полис и является финальным документом с ЭП страховой компании. Мне показалось странным, что компания отдаёт уже подписанный документ еще до факта оплаты клиентом и я стал проверять полученный pdf файл. Глава первая Все манипуляции с 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 лицензия не нужна. Ура, долгожданное сообщение о том, что всё хорошо. Подведем промежуточный итог. Для проверки действительности ЭП на документе нужно: Вот такой алгоритм вырисовывается из поверхностного анализа темы за вечер. Проблема проверки цифровой подписи была решена, но видно трудности, которые могут возникнуть у рядового пользователя: Глава вторая Порывшись в почте, я нашел еще один электронный договор. По счастливой случайности, им тоже оказался страховой полис, но на этот раз еОСАГО от АО “Тинькофф Страхование”. Открываем сертификат, смотрим выпустившую сертификат организацию. Ей оказывается АО “Тинькофф банк”. Да, оказывается у них есть свой УЦ, который выдает сертификаты дочерним организациям (у Сбербанка тоже есть свой УЦ, но в дочерних структурах он не используется). По отработанному алгоритму идём в поисковую систему с запросом “тинькофф сертификат”, находим официальный сайт УЦ АО Тинькофф Банк. Тут нас встречает изобилие ссылок на корневые сертификаты, списки отозванных сертификатов и даже видеоинструкция по их установке. Скачиваем “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 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 также подтвердил, что подпись действительна. На этом приключения с проверкой ЭП на полисе еОСАГО завершаются. Заметно, что после того, как в системе уже установлен необходимый софт, а пользователь понимает принципы работы и поиска промежуточных сертификатов, то проверка подписи занимает уже меньше времени. Но проблемные места по-прежнему видны: необходимо искать в интернете официальные сайты удостоверяющих центров, разбираться в инструкциях по установке сертификатов. Даже при установленных корневых сертификатах необходимо искать промежуточный, иначе цепочка доверия будет не полной и система не сможет подтвердить достоверность подписи. Немного про корневые и промежуточные сертификаты Проделав всю эту работу, меня не покидало чувство, что вся система построена не очень безопасно, требует от пользователя кучу дополнительных операций и доверия многим факторам: от поисковой системы, которая может не выдать первой строкой официальный сайт УЦ, до работы самого персонала УЦ, который выкладывает сертификаты без контрольных сумм на сторонние веб сервисы в проприетарных форматах контейнеров. Однако просто списка недостаточно, нужны хотя бы ссылки на сайты этих УЦ, а также надо найти корневые сертификаты непосредственно от первоисточника, Минкомсвязи. Следующий точкой в поиске этой информации стал портал pravo.gov.ru, где перечислены ссылки на некоторые корневые сертификаты. Страница доступна только по http протоколу, контрольных сумм опять нет. Приглядевшись, можно заметить, что первые 4 ссылки ведут на портал https://e-trust.gosuslugi.ru. Не совсем понятно, почему именно поддомен сайта госуслуг стал центральным в системе корневых сертификатов, но, кажется, тут приведена вся актуальная информация по корневым и промежуточным сертификатам. На странице головного УЦ https://e-trust.gosuslugi.ru/MainCA приведены 10 корневых сертификатов от Минкомсвязи, для разных ГОСТ алгоритмов и с разными сроками действия. Тут же доступны слепки ключей, можно проверить, что скачанный сертификат никто не подменил. Сам сайт имеет сертификат от Thawte. У сертификатов есть поле точки распространения списка отзывов (CRL), в котором прописан путь получения списка отозванных сертификатов. При проверке ЭП на каком-то документе кроме установки промежуточного и корневых сертификатов нужно также установить и последний список отозванных и обновлять его перед каждой проверкой (данная процедура автоматизируется специализированным софтом, но штатные средства вроде бы так не умеют). На портале e-trust у каждого сертификата указан путь к такому списку и он может отличаться от того, что написано в самом сертификате. Чему верить? Не совсем понятно. В заключение статьи хочется отметить, что проверка ЭП на электронных документах по силам каждому, однако это не совсем тривиальный процесс, требующий некоторых знаний. Возможно, что в будущем этот процесс упростится. Кроме этого остается открытым вопрос проверки ЭП на мобильных устройствах, а ведь они сейчас стали основным инструментом пользователей, давно опередив персональные компьютеры. После написания статьи осталось несколько открытых вопросов, которые хотелось бы обсудить с сообществом: UPD 0: В комментариях подсказали онлайн сервис на портале госуслуг для проверки ЭП документов: https://www.gosuslugi.ru/pgu/eds. К сожалению, не заработало в моём случае, но может быть полезно. UPD 1: После написания статьи мне подсказали, что есть ещё один криптопровайдер, ViPNet CSP, который тоже может помочь с ГОСТовскими криптоалгоритмами в системе. Одновременная установка его с КриптоПро CSP под вопросом. КДПВ: edar, Pixabay Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста. Всегда-ли вы проверяете ЭЦП в полученных электронных документах? Проголосовали 73 пользователя. Воздержались 28 пользователей.
  8. Скачать
  9. Форма для скачивания
  10. Юридическое лицо, ИП
  11. Физическое лицо
  12. Получение электронной подписи
  13. Начало работы с электронной подписью
  14. Усовершенствованная подпись КРИПТО-ПРО. Новое средство обеспечения юридической значимости электронных документов
  15. Доказательство момента подписи документа и действительности сертификата ключа подписи на этот момент
  16. Проверка подлинности ЭЦП без сетевых обращений
  17. Архивное хранение
  18. Состав
  19. Доказательство действительности сертификата ключа подписи на момент подписи
  20. Отсутствие необходимости сетевых обращений
  21. Другие варианты использования
  22. Краткое описание формата усовершенствованной ЭЦП
  23. Как хранить усовершенствованную ЭЦП совместно с документами
  24. Глава первая
  25. Глава вторая
  26. Немного про корневые и промежуточные сертификаты
ЭЦП:  КриптоПро CSP купить в Омске — от 920₽ на официальном сайте

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

Время на прочтение


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

КриптоПро CSP

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

Заключение

Инструкцию делал для подведов. Писал максимально простым языком. Если кому то пригодится в работе — буду рад.

Ссылка на исходник инструкции в виде брошюры на Гугл диске

В данной статье рассмотрим использование электронно-цифровой подписи на сайте.

Что необходимо, чтобы человек смог использовать электронно-цифровую подпись на сайте?

1) Попытка создать объект cades.
Нужно сделать примечание, что тут и далее, будет деление на браузер с ActiveX(читай IE) и остальные.
Проверка будет осуществляться:

return (‘ActiveXObject’ in window);

Если проверка прошла неудачно, то уведомляем об этом пользователя.
Стоит иметь ввиду, что после обновления хрома до версии 42 (спасибо статье за информацию) нужно включить:

Следующая проверка — а разрешен ли плагин для запуска (не для IE проверка)?

Проверяем на СКЗИ путем попытки открыть хранилище.

Проверяем на существование сертификатов в хранилище:

И их количество (бывает, что Certificates есть, но пуст, что нам тоже не подойдет):

Первый шаг сделали — проверили возможность подписания чего-либо.

Выбор электронной цифровой подписи

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

1) Группируем по удостоверяющим центрам
Информация об удостоверяющем центре хранится в сертификате.

certs. Item(i). GetInfo

где certs — сертификаты из хранилища, см выше
i — порядковый номер сертификата от 1 (обратите внимание) до certs. Count.
Обратите внимание, что, в случае «кривых» сертификатов, вернуться может и undefined, имеет смысл сделать один дефолтный УЦ для таких случаев.

Теперь мы знаем список УЦ, услугами которых воспользовался клиент.
Запоминаем их и выведем через optgroup.
Сам text у option будет таким:

cert. GetInfo

+ ‘ (‘ + formatDate(cert. ValidFromDate) + ‘ — ‘ + formatDate(cert. ValidToDate) + ‘)’

в cert. GetInfo

— кому выдан сертификат
в ValidFromDate — с какого срока сертификат начал/начнет действие
в ValidToDate — соответственно, до какого срока

Ну и форматирование даты стандартное:

Еще можно подсветить option.
Зеленым — для работоспособных сертификатов, красным — нет.
Информацию можно получить при помощи самого сертификата.

Стоит отметить, что сама по себе данная проверка имеет малую ценность, ибо все причины не может отсечь.
Но самые базовые, например, проверка даты — проверяет.

В value у option запишем отпечаток cert. Thumbprint.
Можно порядковый номер записать, можно другие данные — на ваше усмотрение.

Подписание
Ну и, собственно, самый главный шаг, к которому мы стремились — подписание.

1) Находим выбранный сертификат.
Для нашего примера:

0 — означает, что мы ищем по отпечатку
1 — что используем первый результат выборки (по факту единственный)

где cert — сертификат, при помощи которого подписываем
text — собственно, что подписываем
Ну а в return возвращается подписанное сообщение.

p.s. По максимуму код постарался вычистить от специфики проекта. Если кому-то этот материал пригодится и будет интересно — напишу и серверную часть. Проверка подписанного сообщения (с цепочкой и без), проверка сертификата (ocsp и без), использования tsp и т.д.

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

Вы можете установить личный сертификат двумя способами:

1. Через меню КриптоПро CSP «Просмотреть сертификаты в контейнере»

2. Через меню КриптоПро CSP «Установить личный сертификат»

Если на рабочем месте используется операционная система Windows 7 без SP1, то устанавливать сертификат следует по рекомендациям варианта № 2.

Вариант № 1. Устанавливаем через меню «Просмотреть сертификаты в контейнере»

Чтобы установить сертификат:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

2. В открывшемся окне нажмите на кнопку “Обзор”. Выберите контейнер и подтвердите свой выбор кнопкой ОК.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

3. В следующем окне нажмите “Далее”.

Если появится сообщение “В контейнере закрытого ключа отсутствует открытый ключ шифрования”, перейдите к установке цифрового сертификата по варианту № 2.

4. Если на вашем компьютере установлена версия “КриптоПро CSP” 3.6 R2 (версия продукта 3.6.6497) или выше, то в открывшемся окне нажмите на кнопку “Установить”. После этого согласитесь с предложением заменить сертификат.

Если кнопка “Установить” отсутствует, в окне “Сертификат для просмотра” нажмите кнопку “Свойства”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

6. В окне “Мастер импорта сертификатов” выберите “Далее”.

7. Если у вас уставлена версия “КриптоПро CSP” 3.6, то в следующем окне достаточно оставить переключатель на пункте “Автоматически выбрать хранилище на основе типа сертификата” и нажать “Далее”. Сертификат будет автоматически установлен в хранилище “Личные”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

8. В следующем окне нажмите “Далее”, затем “Готово” и дождитесь сообщения об успешной установке сертификата: “Импорт успешно выполнен”.

Вариант 2. Устанавливаем через меню «Установить личный сертификат»

Для установки вам понадобится, собственно, сам файл сертификата (с расширением .cer). Он может находиться, например, на дискете, на токене или на жестком диске компьютера.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

2. В окне “Мастер установки личного сертификата” нажмите на кнопку “Далее”. В следующем окне, чтобы выбрать файл сертификата, нажмите “Обзор”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

3. Укажите путь к сертификату и нажмите на кнопку “Открыть”, затем “Далее”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

4. В следующем окне вы можете просмотреть информацию о сертификате. Нажмите “Далее”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

6.  Выбрав контейнер, нажмите “Далее”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

7. Дальше вам необходимо выбрать хранилище, куда будет установлен сертификат. Для этого в окне “Выбор хранилища сертификатов” нажмите на кнопку “Обзор”.

Если у вас установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, поставьте флаг “Установить сертификат в контейнер”.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

8. Выберите хранилище “Личные” и нажмите ОК.

9. Хранилище вы выбрали. Теперь нажмите “Далее”, затем — “Готово”. После этого может появиться сообщение:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

В этом случае нажмите “Да”.

10.  Дождитесь сообщения об успешной установке личного сертификата на компьютер.

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

КриптоПро для работы с электронной подписью

Программное обеспечение, необходимое для работы с электронной подписью, в соответствии с Федеральным законом № 63-ФЗ «Об электронной подписи»

Вы уже получили сертификат ЭПВы получили электронную подпись ЮЛ/ИП в удостоверяющем центре ФНС России, Банка России, Федерального казначейства или организации, осуществляющией деятельность в соответствии с Федеральным законом от 10 июля 2002 года N 86-ФЗ.

Установка КриптоПро CSPВам необходимо программное обеспечение для работы с электронной подписью и российской криптографией.

Мы предоставляем 90-дневный ознакомительный период с работой всех функций программы КриптоПро CSP, за это время вам необходимо определиться в выборе подходящей лицензии.

Портал ФНС РоссииПорядок получения электронной подписи, куда можно обратиться за получением электронной подписи – смотрите актуальную информацию на официальном портале ФНС России.

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

Скачать

По требованиям законодательства для скачивания необходимы идентификационные данные:

Форма для скачивания

Я подтверждаю своё согласие на передачу информации (в том числе персональных данных) в электронной форме в ООО «КРИПТО-ПРО» и дальнейшую её обработку в соответствии с законодательством Российской Федерации. Политика обработки данных

Юридическое лицо, ИП

Поставка Лицензии на бумаге

Срок поставки: Курьерской службой в пределах МКАД – 3-4 рабочих дня с даты оплаты счёта. Поставка в регионы – см. Тарифы и сроки. Почтой России – согласно установленных Почтой России сроков доставки.

Техническая поддержка: через портал ТП support.cryptopro.ru, опционально.

Физическое лицо

Поставка Лицензии в электронном виде (файл pdf)

Срок поставки: Не позднее 1 рабочего дня, следующего за оплатой.

Техническая поддержка: : включена 3-х летняя техническая поддержка через портал .

Можно купить для нужд юридического лица и ИП.

Получение электронной подписи

Для безопасного хранения электронной подписи вам понадобится специальный защищённый носитель – USB-токен. В удостоверяющем центре на предоставленный вами USB-токен будут записаны ключи от вашей электронной подписи.

Начало работы с электронной подписью

На данный момент популярные операционные системы (Windows, macOS и др.) по умолчанию не поддерживают российские криптографические алгоритмы, а для работы с электронной подписью, отвечающей требованиям закона, они необходимы. КриптоПро CSP – специализированное программное обеспечение, добавляющее в операционную систему вашего устройства необходимые алгоритмы работы с российской криптографией. Установка программы позволяет работать с электронной подписью соответствующей Федеральному закону № 63-ФЗ «Об электронной подписи».

Согласно википедии  сертификат открытого ключа он же файл открытого ключа, электронная цифровая подпись, сертификат ключа подписи, сертификат ключа проверки электронной подписи (согласно ст. 2 Федерального Закона от 06.04.2011 «Об электронной подписи» № 63-ФЗ) —  цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа. Содержит информацию о владельце ключа, сведения об открытом ключе, его назначении и области применения, название центра сертификации.

Открытый ключ может быть использован для организации защищённого канала связи с владельцем двумя способами:

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

Экспорт файла открытого ключа можно осуществить следующими способами:

1. Экспорт из хранилища Личные:

Настройки  / Свойства обозревателя/ Содержание и нажать на кнопку Сертификаты.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

2. Экспорт файла открытого ключа с помощью КриптоПро CSP:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

Для того чтобы зашифровать документ вам потребуется КриптоПРО CSPКриптоAPM. Дополнительных настроек, кроме размещения файла сертификата открытого ключа в хранилище Сертификаты других пользователей, как правило не требуется.

Если инструкция показалась вам полезной -делитесь ей, кнопки для этого вы найдете прямо под статьей.

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

Компания КРИПТО-ПРО предлагает Стандарт применения усовершенствованной электронной цифровой подписи. Опыт КРИПТО-ПРО – ведущей российской компании в области технологии ЭЦП – свидетельствует, что при использовании «классической» ЭЦП в юридически значимом электронном документообороте, в случае возникновения спора достаточно трудно, а подчас и невозможно, доказать подлинность ЭЦП и момент подписи (создания) ЭЦП. Эти трудности могут привести к тому, что арбитр не примет электронный документ в качестве письменного доказательства. Данные трудности порождаются рядом проблем, присущих «классической» ЭЦП, а именно:

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

Предлагаемый КРИПТО-ПРО Стандарт применения усовершенствованной подписи позволяет решить все основные трудности, связанные с применением ЭЦП, и обеспечить участников электронного документооборота всей необходимой доказательной базой (причем собранной в самой ЭЦП в качестве реквизитов электронного документа), связанной с установлением момента подписи и статуса сертификата открытого ключа подписи на момент подписи.

Формат усовершенствованной подписи основан на европейском стандарте CAdES (ETSI TS 101 733). Версия этого стандарта опубликована в виде RFC 5126 «CMS Advanced Electronic Signatures (CAdES)». Новый формат подписи решает описанные выше и множество других потенциальных проблем, обеспечивая:

Доказательство момента подписи документа и действительности сертификата ключа подписи на этот момент

Согласно статье 4 ФЗ «Об электронной цифровой подписи», ЭЦП признаётся равнозначной собственноручной подписи в документе на бумажном носителе при условии, что сертификат ключа подписи, относящийся к этой ЭЦП, не утратил силу (действует) на момент проверки или на момент подписания электронного документа при наличии доказательств, определяющих момент подписания.

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

Для доказательства момента подписи используются штампы времени, соответствующие международной рекомендации RFC 3161 «Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)».

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

Проверка подлинности ЭЦП без сетевых обращений

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

Архивное хранение

Использование усовершенствованной подписи является необходимым условием архивного хранения электронных документов, удостоверенных ЭЦП.

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

Состав

Стандарт применения усовершенствованной электронной цифровой подписи включает в себя:

Инструментарий разработчика КриптоПро ЭЦП сертифицирован ФСБ России в составе ПАК «Службы УЦ» версии 1.5.

На нашем сайте вы можете получить Инструментарий разработчика КриптоПро ЭЦП SDK.

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

КриптоПро ЭЦП SDK распространяется свободно.

В ряде случаев требуется установить только cades.dll или cadescom.dll, не устанавливая при этом КриптоПро ЭЦП SDK полностью. В таких случаях можно воспользоваться следующими дистрибутивами.

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

Доказательство действительности сертификата ключа подписи на момент подписи

Наличие доказательств подлинности ЭЦП в подписанном документе позволяет подтвердить действительность сертификата ключа подписи. Дополнительный штамп времени удостоверяет время сбора доказательств подлинности, а следовательно, позволяет удостовериться в действительности подписи даже если не только сертификат ключа подписи был аннулирован (отозван), но и если аннулирован или отозван был сертификат ключа подписи службы актуальных статусов или сертификаты промежуточных УЦ. Таким образом, сохраняется возможность использования отозванного сертификата для проверки ЭЦП, созданных до момента отзыва. Эта проблема актуальна для всех систем электронного документооборота.

Отсутствие необходимости сетевых обращений

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

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

Другие варианты использования

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

Краткое описание формата усовершенствованной ЭЦП

Данный формат включает в себя:

Как хранить усовершенствованную ЭЦП совместно с документами

Усовершенствованная ЭЦП может храниться как вместе с подписанным документом (в том же файле) так и отдельно от него (в отдельном файле).


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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

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

Что же меня насторожило?

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

Через полчаса ожидания я стал волноваться, быстрый поиск показал, что у страховой компании есть аж 3 разных активных домена: www.sberbank-insurance.ru, www.sberins.ru и sberbankins.ru, что не добавляло мне уверенности в компании.

Звонок в контакт центр принёс информацию о том, что присланный полис и является финальным документом с ЭП страховой компании. Мне показалось странным, что компания отдаёт уже подписанный документ еще до факта оплаты клиентом и я стал проверять полученный pdf файл.

Глава первая

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

Для начала я открыл документ в просмотрщике Foxit Reader, который использую как основной:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

Кроме имени организации, которой выдан сертификат, видно наименование выдавшей его организации, ООО “ИТК”. Поиск по запросу “ООО ИТК сертификат” вывел меня на страницу Установка корневого сертификата Удостоверяющего центра ООО «ИТК». Это официальный сайт ООО «Интернет Технологии и Коммуникации», который является одним из удостоверяющих центров, выдающих сертификаты ЭП.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

Снова открываем сертификат из документа. И чуда не произошло, цепочка доверия от корневого до конечного не строится!

Изучаем ЭП подробнее: в Foxit Reader есть дополнительная информация о свойствах подписи:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

Ага, алгоритм хеширования ГОСТовский, ЭП создана в КриптоПро PDF. Возможно, Windows не знает про ГОСТ шифрование и поэтому ему нужен дополнительный криптопровайдер.

Идём на сайт КриптоПро, регистрируемся, скачиваем пробную версию КриптоПро CSP 5.0 на 3 месяца. Что будет дальше — не совсем понятно, возможно всё превратится в тыкву, посмотрим.

Снова открываем просмотр сертификата ЭП:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

Сообщение о проверке немного улучшилось, но всё равно Foxit Reader не может проверить сертификат (вероятно дело в ГОСТовском алгоритме):


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

В Adobe Acrobat Reader DC проверка тоже не успешна:


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

И на этом вроде бы можно остановиться: Foxit Reader подтверждает, что документ не был изменен после подписания, руками можно проверить, что сертификат подтверждается системой и действителен. Но всё же хочется довести дело до конца, чтобы хотя бы одна программа сказала: да, документ действителен, всё хорошо.

Вспоминаем, что полис подписан в программе КриптоПро PDF. Вероятно, что раз она может создавать такие подписи, то уж наверняка должна их и проверять. Ставим.

+1 триал версия на 90 дней, хотя вроде бы надпись при установке успокаивает, что при использовании продукта в Adobe Acrobat Reader DC лицензия не нужна.


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

Ура, долгожданное сообщение о том, что всё хорошо.

Подведем промежуточный итог. Для проверки действительности ЭП на документе нужно:

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

Глава вторая

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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

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

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

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

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

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


ЦИФРОВАЯ ПОДПИСЬ КРИПТОПРО И КАК ЭКСПОРТИРОВАТЬ ОТКРЫТЫЙ КЛЮЧ ЧЕРЕЗ КРИПТОПРО CSP

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

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

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

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

КДПВ: edar, Pixabay

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

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

Проголосовали 73 пользователя.

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

Оцените статью
ЭЦП64