КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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

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

Содержание
  1. Что такое открытый ключ
  2. Что это такое
  3. Для чего нужен сертификат
  4. Открытый и закрытый ключ
  5. Какие УЦ могут выдавать усиленные сертификаты
  6. Что такое аккредитованный удостоверяющий центр
  7. Из чего состоит сертификат ЭП
  8. Зачем нужны открытый и закрытый ключ ЭЦП
  9. Файл для анализа и инструменты анализа
  10. Сущность технологии ЭЦП
  11. Экспорт файла открытого ключа с помощью «КриптоПро CSP»
  12. Просмотр всех свойств сертификата из «PowerShell»
  13. Где купить КриптоПро
  14. Язык ASN. 1, способ сериализации DER и дерево идентификаторов объектов OID
  15. Как настроить КриптоПро на Windows
  16. Проверка электронной подписи
  17. Открытая часть ключа ЭЦП
  18. Экспорт файла открытого ключа из хранилища «Личные»
  19. Настройка рабочего места КриптоПро CSP 5
  20. Установка сертификата
  21. Проверка работоспособности
  22. Просмотр хранилищ сертификатов и сертификатов в них из «PowerShell»
  23. Как вытащить сертификат ключа проверки ЭЦП
  24. Читаем байтовый массив
  25. Стандарты
  26. Понятие закрытого ключа
  27. Экспорт из хранилища Личные
  28. Экспорт с помощью КриптоПро CSP
  29. Добавление сайта в список доверенных

Что такое открытый ключ

Открытый ключ ЭЦП доступен для всех пользователей информационной системы. По своей сути это цифровой код. Сертификат открытого ключа ЭЦП используется для идентификации владельца и в качестве исходных данных для шифрования. В состав сертификата входят данные:

уникальный номер, присваиваемый в ходе регистрации;

личные сведения о держателе, включая реквизиты эмитента — удостоверяющего центра и Ф. И. О. владельца

ЭЦП:  АО АНАЛИТИЧЕСКИЙ ЦЕНТР ЭЛЕКТРОННАЯ ПОДПИСЬ НА ГОСУСЛУГАХ

срок действия выданного сертификата


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

Из нашей статьи вы узнаете:

Для корректной работы с электронной подписью пользователю необходимы определённые программы. На рабочий компьютер устанавливают средство криптографической защиты информации (СКЗИ) и специальный плагин. Из самых популярных таких программ можно выделить КриптоПро CSP и КриптоПро ЭЦП Browser plug-in. Они взаимодействуют практически со всеми операционными системами. Для их установки пользователю требуется:

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

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

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

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

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

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

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


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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

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

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

1. Удостоверяющий центр осуществляет создание и выдачу сертификата ключа проверки электронной подписи на основании соглашения между удостоверяющим центром и заявителем.

2. Сертификат ключа проверки электронной подписи должен содержать следующую информацию:

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

(п. 1 в ред. Федерального закона от 30.12.2015 N 445-ФЗ)

(см. текст в предыдущей редакции)

2) фамилия, имя и отчество (если имеется) — для физических лиц, наименование и место нахождения — для юридических лиц или иная информация, позволяющая идентифицировать владельца сертификата ключа проверки электронной подписи;

3) уникальный ключ проверки электронной подписи;

(п. 3 в ред. Федерального закона от 30.12.2015 N 445-ФЗ)

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

5) наименование удостоверяющего центра, который выдал сертификат ключа проверки электронной подписи;

6) иная информация, предусмотренная частью 2 статьи 17 настоящего Федерального закона, — для квалифицированного сертификата.

3. В случае выдачи сертификата ключа проверки усиленной электронной подписи юридическому лицу в качестве владельца сертификата ключа проверки электронной подписи наряду с указанием наименования юридического лица указывается физическое лицо, действующее от имени юридического лица без доверенности в соответствии с гражданским законодательством Российской Федерации (далее — лицо, уполномоченное действовать без доверенности). В случае выдачи сертификата ключа проверки электронной подписи юридического лица, не являющегося квалифицированным сертификатом юридического лица, в качестве владельца сертификата такого ключа проверки электронной подписи наряду с указанием наименования юридического лица может указываться физическое лицо, действующее от имени юридического лица на основании доверенности. В случаях, предусмотренных статьями 17.2 и 17.4 настоящего Федерального закона, не указывается в качестве владельца сертификата ключа проверки электронной подписи физическое лицо, действующее от имени юридического лица, в сертификате ключа проверки электронной подписи, используемом для автоматического создания и (или) автоматической проверки электронных подписей в информационной системе. При этом распорядительным актом юридического лица определяется физическое лицо, ответственное за автоматическое создание и (или) автоматическую проверку электронной подписи в информационной системе, и лицо, ответственное за содержание информации, подписываемой данной электронной подписью. В случае отсутствия указанного распорядительного акта лицом, ответственным за автоматическое создание и (или) автоматическую проверку электронной подписи в информационной системе, является руководитель юридического лица. В случае возложения федеральным законом полномочий по исполнению государственных функций на конкретное должностное лицо ответственным за автоматическое создание и (или) автоматическую проверку электронной подписи в информационной системе при исполнении государственных функций является это должностное лицо.

(часть 3 в ред. Федерального закона от 14.07.2022 N 339-ФЗ)

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

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

6. Сертификат ключа проверки электронной подписи прекращает свое действие:

1) в связи с истечением установленного срока его действия;

2) на основании заявления владельца сертификата ключа проверки электронной подписи, подаваемого в форме документа на бумажном носителе или в форме электронного документа;

3) в случае прекращения деятельности удостоверяющего центра без перехода его функций другим лицам;

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

6.1. Удостоверяющий центр аннулирует сертификат ключа проверки электронной подписи в следующих случаях:

1) не подтверждено, что владелец сертификата ключа проверки электронной подписи владеет ключом электронной подписи, соответствующим ключу проверки электронной подписи, указанному в таком сертификате;

2) установлено, что содержащийся в таком сертификате ключ проверки электронной подписи уже содержится в ином ранее созданном сертификате ключа проверки электронной подписи;

3) вступило в силу решение суда, которым, в частности, установлено, что сертификат ключа проверки электронной подписи содержит недостоверную информацию.

(часть 6.1 введена Федеральным законом от 30.12.2015 N 445-ФЗ)

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

(часть 7 в ред. Федерального закона от 30.12.2015 N 445-ФЗ)

8. Утратил силу. — Федеральный закон от 30.12.2015 N 445-ФЗ.

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

Что это такое

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

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

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

Информация о сертификатах хранится в базах Единого реестра ЕСИА. Вносить данные имеют право удостоверяющие центры, прошедшие сертификацию. Все УЦ делятся на аккредитованные и неаккредитованные.

Для чего нужен сертификат

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

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

Открытый и закрытый ключ

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

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

Какие УЦ могут выдавать усиленные сертификаты

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

Что такое аккредитованный удостоверяющий центр

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

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

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

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

Познакомиться со списком сертифицированных удостоверяющих центров можно на сайтах ФНС и Минкомсвязи. В специальном разделе по регионам указаны действующие организации. Здесь же можно проверить данные о закрытых и лишенных лицензий организациях, узнать, кому переданы права и полномочия после закрытия.

Из чего состоит сертификат ЭП

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

Составляющие сертификата подписи:

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

На официальных порталах программ производителей выложен инструкции, как пользоваться ЭП в их программах (Microsoft Office, Acrobat Reader и других). Через установленное на ПК программное обеспечение наносится скрипт подписи. После нанесения ЭП документ не может быть изменен сторонними лицами.

Зачем нужны открытый и закрытый ключ ЭЦП

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

Файл для анализа и инструменты анализа

Я создал из диспетчера веб-сервера IIS самозаверенный сертификат открытого ключа для тестирования работы с локальным сайтом по протоколу HTTPS. Этот файл я и буду тут анализировать.

В качестве инструмента для анализа я в основном использую программу-оболочку «PowerShell» версии 7. Напомню, я работаю в операционной системе «Windows 10».

Иногда заглядываю в сохраненные консоли «certlm.msc» (хранилище сертификатов компьютера, для работы требуются права администратора компьютера) и «certmgr.msc» (хранилище сертификатов текущего пользователя, для работы достаточно прав текущего пользователя). Их легко можно вызвать прямо из командной строки из любого местоположения с помощью команд certlm и certmgr, так как эти файлы хранятся в системной папке %windir%System32. Файлы сохраненных консолей с расширением «.msc» по умолчанию привязаны (их имена при запуске передаются в качестве входного параметра) к исполняемому файлу «mmc.exe» (компонента «Консоль управления Microsoft» операционной системы), который тоже хранится в системной папке %windir%System32.

Сущность технологии ЭЦП

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

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

Для экспорта файла открытого ключа электронной подписи пользователю необходимо:


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

Просмотр всех свойств сертификата из «PowerShell»

К конкретному сертификату можно обратиться по его так называемому «отпечатку» (thumbprint). Как видно из кода выше, отпечаток представляет собой довольно длинное шестнадцатеричное число. Очевидно, что при использовании его лучше скопировать, а не набирать вручную.

Как видно из кода выше, для некоторых свойств, которые попроще, в списке сразу выводятся значения этих свойств. Для свойств, в которых записана ссылка на объект, выводится только тип объекта. Чтобы просмотреть записанный в таком свойстве объект, нужно забираться поглубже. Значением некоторых свойств является массив байтов, в этом случае значения байтов в массиве выводятся через запятую. В некоторые свойства не записано никакого значения, поэтому их значение равно значению $null (в списке выше напротив названий таких свойств после двоеточия ничего не выведено).

В свойстве Version записано значение 3. Насколько я понимаю, тут подразумевается версия 3 стандарта «X.509», о которой упоминалось в начале данной статьи.

В этот раз меня в первую очередь интересовали свойства, в которых может содержаться информация об именах и названиях: DnsNameList, Extensions, FriendlyName, IssuerName, SubjectName, Issuer и Subject.

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

Где купить КриптоПро

Купить полную лицензию продукта КриптоПро рекомендуем в нашем интернет-магазине. Оставьте короткую заявку, для бесплатной консультации специалиста.

Язык ASN. 1, способ сериализации DER и дерево идентификаторов объектов OID

Как оказалось, заполнение байтовых массивов в значениях сертификата открытого ключа по стандарту «X.509» выполняется на языке описания абстрактного синтаксиса данных «ASN.1» (расшифровывается как «Abstract Syntax Notation One»). Я немного о нем почитал и он мне понравился. Тут речь об «абстрактном синтаксисе» потому, что этот язык описывает любые структуры данных, независимо от конкретного языка программирования. Этот язык был создан в 1984 году и до сих пор разрабатывается уже упоминавшейся выше организацией «ITU-T».

Кроме описания структур данных в этом языке описаны разные способы сериализации полученного описания данных. Под словом «сериализация» подразумевают перевод данных в последовательность байтов (или в «серию» байтов, откуда и произошел термин «сериализация»). Там описано более десятка разных способов. Для сертификатов открытого ключа по стандарту «X.509» применяется способ сериализации DER (Distinguished Encoding Rules). Тут подробнее: раздел «Encodings» англоязычной статьи википедии «ASN.1», про способ сериализации DER в англоязычной статье википедии про стандарт «X.690», статья «A Warm Welcome to ASN.1 and DER» на сайте «Let’s Encrypt».

Давайте посмотрим, как это работает на практике на примере байтового массива, который я получил выше.

При сериализации по методу «DER» согласно языка «ASN.1» применяется известный метод записи данных «TLV» (расшифровывается как «type-length-value» или «tag-length-value»). По-русски название этого метода можно озвучить как «тип-длина-значение». Согласно этого метода данные (в том числе вложенные) записываются в указанном порядке: сначала тип данных, потом — длина данных в байтах, и, наконец, значение (собственно, сами данные).

Будем последовательно применять это правило для расшифровки вышеуказанного массива байтов. Возьмем первые два байта:

30 13 31 11 30 0f 06 03 55 04 03 13 08 49 6c 79 61 43 6f 6d 70
30 — SEQUENCE (тип данных)
13 — размер данных: 19₁₀ байтов
данные: 31 11 30 0f 06 03 55 04 03 13 08 49 6c 79 61 43 6f 6d 70

Первый байт нашего массива со значением 30 в языке «ASN.1» означает тип данных «SEQUENCE» (набор данных разных типов; например, в языке Си эквивалентом этого типа данных является тип struct). Кстати, для быстрого ознакомления с языком «ASN.1» рекомендую ознакомиться с большой обзорной статьей «A Warm Welcome to ASN.1 and DER» на сайте известного бесплатного центра сертификации «Let’s Encrypt». Эта статья очень удобна для начинающих, там есть разные таблицы соответствия, например, значений байтов и типов данных.

Как видно из кода выше, в нашем случае в байтовом массиве записана структура данных типа «SEQUENCE», имеющая размер в 13 (шестнадцатеричная система) байтов или 19 (десятичная система) байтов. Данными являются 19 байтов, идущие после байта, указывающего размер данных. Если посчитать, получается, что весь остаток массива, кроме первых двух байт, имеет размер в 19 байт, следовательно, кроме структуры данных «SEQUENCE» в наш массив больше ничего не записано.

Продолжим расшифровку. Возьмем следующие два байта.

Тип данных «SET» в языке «ASN.1», в принципе, похож на «SEQUENCE», только в данных типа «SEQUENCE» (последовательность) порядок вложенных элементов сохраняется (важен), а в данных типа «SET» (множество) порядок вложенных элементов не сохраняется (не имеет значения). Перейдем к следующим двум байтам (думаю, принцип действия метода «type-length-value» к этому моменту уже должен был проясниться).

На этом шаге расшифровки получилось, что в структуру данных типа «SEQUENCE» входит сразу два вложенных элемента данных: типа «OBJECT IDENTIFIER» и типа «PrintableString». Второй из них — это тип данных, эквивалентный обычной строке. В данном случае в 8 байтах 49 6c 79 61 43 6f 6d 70 закодировано имя IlyaComp в кодировке UTF-8.

Под типом данных «OBJECT IDENTIFIER» (сокращенно «OID») подразумевают стандартизированное уже несколько раз упоминавшейся организацией «ITU» и международной организацией по стандартизации «ISO/IEC» дерево идентификаторов объектов. В интернете есть ряд сайтов, предоставляющих возможность просмотреть это дерево объектов и найти нужный объект. Например: http://oidref.com.

Каждый идентификатор объекта представляет собой набор номеров пунктов (веток дерева, целых чисел) через точку. В нашем случае в трех байтах 55 04 03 закодирован идентификатор объекта из четырех чисел. Первые два числа X и Y идентификатора объекта кодируются по формуле 40₁₀ * X + Y в первый байт данных, представляющих идентификатор объекта. Раскодируем идентификатор объекта:

55 04 03 = 85₁₀.4.3 = (40₁₀ * 2 + 5).4.3 = 2.5.4.3 = http://oidref.com/2.5.4.3

В идентификаторе объекта все пункты имеют определенное значение:

Результат расшифровки байтового массива:

Это же коротко записано как CN=IlyaComp и в виде строки содержится в поле Name свойства IssuerName сертификата открытого ключа, а также в свойствах Issuer и Subject сертификата.

Как настроить КриптоПро на Windows

Настройка КриптоПро происходит в несколько этапов. Ниже расскажем, как настроить КриптоПро CSP и КриптоПро ЭЦП Browser plug-in. А именно, научимся добавлять сайт в список доверенных и экспортировать файл открытого ключа разными способами.

Проверка электронной подписи

Проверить открытую часть электронной подписи можно с помощью СКЗИ — средств криптографической защиты информации. Это может быть, например, программа КриптоПро CSP. Но это же можно проделать и в сторонних программах, и на веб-сайтах.

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

Открытая часть ключа ЭЦП

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

Экспорт файла открытого ключа из хранилища «Личные»

Для экспорта требуется:


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

После указанных действий появится уведомление о завершении экспорта сертификата.

Как установить и настроить КриптоПро Browser Plug-in, читайте в нашей статье.

Настройка рабочего места КриптоПро CSP 5

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

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


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

Проверка работоспособности


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

Облачная электронная подпись полностью готова к работе.

Просмотр хранилищ сертификатов и сертификатов в них из «PowerShell»

В файловых системах операционных систем «Windows» обычно бывает несколько «корней» (в отличие от Unix-подобных операционных систем; там в файловой системе один «корень»), которые обозначают латинскими буквами с двоеточием (например, «A:», «C:», «D:» и так далее) и называют «логическими дисками» (или «томами»), по-английски «logical drive» (или «volume»).

В принципе, слово «том» кажется теперь более правильным, потому что слова «диск» и «привод» тянутся со времен, когда запоминающие устройства (накопители) были в основном с магнитными дисками и с подвижными частями, которые приводились в движение «приводами». У нас сейчас многие переводят с английского языка слово «drive» как «диск», хотя «drive» — это «привод». Во многих случаях буквенные обозначения томов соответствуют реальным физическим устройствам-накопителям, поэтому их часто называют словом «drive».

В документации программы-оболочки «PowerShell» буквенные обозначения томов называют «file system drive» (том файловой системы).

По принципу томов файловой системы в языке «PowerShell» существуют так называемые «провайдеры» или «поставщики» (по-английски «provider»). У этих провайдеров тоже есть «приводы»: это короткие слова или даже части слов (или аббревиатуры), которые используются для предоставления (обеспечения, поставки) быстрого и простого доступа к данным или компонентам, доступ к которым другими способами затруднен. Например, для доступа к переменным среды можно использовать привод «Env:» провайдера переменных среды, для доступа к реестру Windows можно использовать приводы «HKLM:» и «HKCU:» провайдера реестра и так далее. См. статью «about_Providers» документации программы-оболочки «PowerShell».

Для доступа к хранилищам сертификатов и сертификатам в этих хранилищах можно использовать привод Cert: провайдера сертификатов. При этом с хранилищами сертификатов можно работать так же, как с обычными папками файловой системы (напомню, хранилища сертификатов не соответствуют какой-либо папке файловой системы, это просто что-то вроде фильтра, инструмента, который собирает сведения о цифровых сертификатах, физически хранящихся в разных местах на компьютере), а с сертификатами можно работать так же, как с обычными файлами в файловой системе. Удобно продолжать использовать псевдонимы cd (сменить папку) и dir (показать список файлов и папок в текущей папке) командлетов Set-Location и Get-ChildItem соответственно. См. статью «about_Certificate_Provider» документации «PowerShell».

Итак, в командной строке программы-оболочки «PowerShell» перейдем в том Cert: и выведем список хранилищ сертификатов. Вот как это выглядит у меня:

Это те самые два главных хранилища сертификатов, которые описаны, к примеру, в статье «Working with Certificates» на сайте компании «Microsoft»: хранилище сертификатов текущего пользователя и хранилище сертификатов компьютера. Под названием каждого из этих хранилищ виден массив названий подхранилищ (каждый массив завершается многоточием, которое обозначает то, что все названия из массива не влезли в отведенную строку).

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

Как вытащить сертификат ключа проверки ЭЦП

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

Для удобства подготовили для вас материалы о ЭЦП, из которых вы узнаете:

Читаем байтовый массив

Как видно из списка свойств сертификата выше, свойство IssuerName содержит ссылку на объект класса System. Security. Cryptography. X509Certificates. X500DistinguishedName. Просмотрим список свойств со значениями для этого объекта:

Очевидно, что значение свойства Issuer сертификата в данном случае совпадает со значением поля Name свойства IssuerName сертификата. Но мне стало интересно, что содержится в поле RawData свойства IssuerName сертификата. Видно, что там содержится массив байтов. Но что они означают?

Сначала я предположил, что там записано то же самое, что в поле Name. И действительно, часть байтового массива содержит строку IlyaComp в кодировке UTF-8. Но там есть и что-то еще. С налета разобраться в этом не получилось, поэтому я приступил к подробному анализу. Получим в окно терминала полное содержимое разбираемого массива байтов:

По умолчанию программа-оболочка «PowerShell» выводит массив «вертикально», то есть выделяя для каждого элемента массива отдельную строку. Это неудобно. Для вывода элементов массива «горизонтально» (в одной строке) я применяю в коде выше конкатенацию пустой строки и анализируемого массива.

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

В этой строке формата латинская буква х указывает на вывод числа в шестнадцатеричной системе счисления (регистр буквы х в данном случае имеет значение, от него зависит регистр букв, которыми будут обозначены шестнадцатеричные цифры a, b, c, d, e, f). Число 2 указывает на число цифр в выводимых шестнадцатеричных числах. Очевидно (если вы понимаете, как сочетаются двоичная и шестнадцатеричная системы счисления), что для обозначения значения каждого байта нужно шестнадцатеричное число из двух цифр. ( Тут подробнее про настройку форматирования чисел в строке.)

Стандарты

Формат сертификата открытого ключа описан в стандарте «X.509», который создан «Международным союзом электросвязи» (сокращенно «МСЭ», по-английски «ITU»). Точнее, над стандартом работали и работают в отделе (секторе) стандартизации электросвязи этой организации (по-английски «ITU-T», в прошлом веке он назывался «CCITT»).

Понятие закрытого ключа

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

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

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

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

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

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

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

Для экспорта файла открытого ключа из хранилища Личные выполните следующее:

Экспорт с помощью КриптоПро CSP


КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

Расскажем, с кем еще можно сверяться в сервисе Взаиморасчёты

Добавление сайта в список доверенных

КриптоПро запрашивает разрешение на взаимодействие с сайтом (где *** — название сайта). Для подтверждения доступа пользователь нажимает кнопку «ОК».


<img class="img-fluid" src="https://astral.ru/upload/iblock/503/u8z85lee5prrdg3g0ihy95j4oidhuafp/1%20

.png» title=»»>

Если пользователь пользуется определённым сайтом постоянно, его можно освободить от данных действий. Чтобы внести адрес сайта в список доверенных, необходимо:


<img class="img-fluid" src="https://astral.ru/upload/iblock/e01/ebfvigotmyq9pk022bwcrltze653etr2/2%20

.png» title=»»>

КАК ПОСМОТРЕТЬ ОТКРЫТЫЙ КЛЮЧ СЕРТИФИКАТА В ИНТЕРНЕТЕ

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

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