X 509 формат файла
Возможно, вы видели файлы цифровых сертификатов с различными расширениями имен файлов, такими как .crt , .cer , .pem или .der . Эти расширения обычно соответствуют двум основным схемам кодирования сертификатов и ключей X.509: PEM (Base64 ASCII) и DER (двоичный). Однако есть некоторые совпадения и используются другие расширения, поэтому вы не всегда можете определить, с каким файлом вы работаете, просто взглянув на имя файла; вам может потребоваться открыть его в текстовом редакторе и посмотреть сами.
Что такое OpenSSL?
OpenSSL - очень полезный набор инструментов командной строки с открытым исходным кодом для работы с X.509 сертификаты, запросы на подпись сертификатов (CSRs) и криптографические ключи. Если вы используете вариант UNIX, такой как Linux или macOS, OpenSSL, вероятно, уже установлен на вашем компьютере. Если вы хотите использовать OpenSSL в Windows, вы можете включить Подсистема Linux в Windows 10 или установить Cygwin.
Расширения имени файла PEM
Как выглядит сертификат PEM?
Общие преобразования PEM
В приведенных ниже командах OpenSSL замените имена файлов ВСЕМИ ЗАГЛАВНЫМИ буквами фактическими путями и именами файлов, с которыми вы работаете.
Просмотр содержимого файла сертификата PEM
Конвертировать сертификат PEM в DER
DER (отличительные правила кодирования) это двоичная кодировка для X.509 сертификаты и закрытые ключи. В отличие от PEM, файлы в кодировке DER не содержат текстовых операторов, таких как -----BEGIN CERTIFICATE----- , Файлы DER чаще всего встречаются в контексте Java.
Расширения имени файла DER
DER-кодированные файлы обычно находятся с расширениями .der и .cer .
Как выглядит DER-кодированный сертификат?
Общие преобразования DER
В приведенных ниже командах OpenSSL замените имена файлов ВСЕМИ ЗАГЛАВНЫМИ буквами фактическими путями и именами файлов, с которыми вы работаете.
Просмотр содержимого файла сертификата в кодировке DER
Конвертировать DER-кодированный сертификат в PEM
Сертификаты X.509 — это цифровые документы, которые представляют пользователя, компьютер, службу или устройство. Они могут выдаваться корневым или подчиненным центром сертификации (ЦС) либо центром регистрации и содержат открытый ключ субъекта сертификата. Они не содержат закрытый ключ субъекта, который должен храниться безопасно. Сертификаты с открытым ключом определяются в документе RFC 5280. Они имеют цифровую подпись и обычно содержат следующую информацию:
- сведения о субъекте сертификата;
- открытый ключ, который соответствует открытому ключу субъекта сертификата;
- сведения о ЦС, выдавшем сертификат;
- поддерживаемые алгоритмы шифрования и (или) цифровой подписи;
- сведения для определения состояния отзыва или допустимости сертификата.
Поля сертификата
Со временем появились три версии сертификата. В каждой из версий добавлялись новые поля. Версия 3, которая действует в настоящий момент, содержит все поля версий 1 и 2, дополненные полями версии 3. Версия 1 определяет следующие поля:
- Version (Версия) — значение 1, 2 или 3, которое указывает используемую версию сертификата.
- Serial Number (Серийный номер) — уникальный идентификатор, который присваивается каждому сертификату ЦС.
- CA Signature Algorithm (Алгоритм подписывания ЦС) — имя алгоритма, который ЦС использует для подписывания содержимого сертификата.
- Issuer Name (Имя издателя) — различающееся имя ЦС, который выдал этот сертификат.
- Validity Period (Период действия) — период времени, в течение которого сертификат считается действительным.
- Subject Name (Имя субъекта) — имя сущности, которую представляет сертификат.
- Subject Public Key Info (Данные открытого ключа субъекта) — открытый ключ, принадлежащий субъекту сертификата.
В версии 2 добавлены следующие поля с информацией об издателе сертификата, хотя эти поля редко используются:
- Issuer Unique ID (Уникальный идентификатор издателя): уникальный идентификатор центра сертификации, который выдал сертификат. Он определяется самим центром сертификации.
- Subject Unique ID (Уникальный идентификатор субъекта) — уникальный идентификатор субъекта сертификата, который определяется ЦС, выдавшим сертификат.
В сертификатах версии 3 добавлены следующие расширения:
- Authority Key Identifier (Идентификатор ключа центра) — может содержать одно из двух значений:
- субъект ЦС и серийный номер сертификата ЦС, который выдал сертификат;
- хэш-код открытого ключа ЦС, который выдал этот сертификат.
- Цифровая подпись
- Неотрекаемость
- Шифрование ключа
- Data Encipherment (Шифрование данных);
- Key Agreement (Согласование ключей);
- Key Cert Sign (Подпись сертификата с ключом);
- CRL Sign (Подпись списка отзыва сертификатов);
- Encipher Only (Только шифрование);
- Decipher Only (Только расшифровка).
Форматы сертификатов
Сертификаты можно сохранить в нескольких форматах. Для проверки подлинности в Центре Интернета вещей Azure обычно используются форматы PEM и PFX.
Двоичный сертификат
Содержит двоичный сертификат в необработанном формате в кодировке DER ASN.1.
Формат ASCII PEM
Сертификат PEM (файл с расширением .pem) содержит сертификат в кодировке Base64 с префиксом -----BEGIN CERTIFICATE----- и постфиксом -----END CERTIFICATE-----. Формат PEM очень распространен и является обязательным к использованию при отправке некоторых сертификатов в Центр Интернета вещей.
Ключ ASCII (PEM)
Содержит ключ DER в кодировке Base64 с добавлением необязательных метаданных со сведениями об алгоритме, используемом для защиты пароля.
Этот формат предназначен для передачи подписанных или зашифрованных данных. Он определяется стандартом RFC 2315. В нем может содержаться полная цепочка сертификатов.
Этот формат предназначен для хранения закрытого ключа и определен в стандарте RFC 5208.
Дополнительные сведения
Дополнительные сведения см. в следующих разделах:
Дальнейшие действия
Если вы хотите создать тестовые сертификаты, которые можно использовать для проверки подлинности устройств в Центре Интернета вещей, изучите следующие разделы:
Х.509 — это другой очень распространённый формат. Все сертификаты Х.509 соответствуют международному стандарту ITU-T X.509; таким образом (теоретически), сертификат Х.509, созданный для одного приложения, может быть использован в любом другом, поддерживающем этот стандарт. На практике, однако, сложилась ситуация, что разные компании создают собственные расширения для Х.509, не все из которых между собой совместимы.
Всякий сертификат требует, чтобы кто-то заверил взаимосвязность открытого ключа и идентифицирующей владельца ключа информации. Имея дело с PGP-сертификатом, каждый может выступать в качестве заверителя содержащихся в нём сведений (за исключением случаев, когда эта возможность намеренно ограничена политикой безопасности). Но в случае сертификатов Х.509 заверителем может быть только Центр сертификации или некто, специально уполномоченный им на эту роль. (Имейте в виду, что PGP-сертификаты также в полной мере поддерживают иерархическое структурирование системы доверия, использующее ЦС для удостоверения сертификатов.)
Сертификат Х.509 — это набор стандартных полей, содержащих сведения о пользователе или устройстве, и их соответствующий открытый ключ. Стардарт Х.509 определяет, какие сведения входят в сертификат и как они кодируются (формат данных).
Сертификат Х.509 содержит следующие сведения:
Версия Х.509 — указывает, на основе какой версии стандарта Х.509 построен данный сертификат, что определяет, какая информация может в нём содержаться.
Открытый ключ владельца сертификата — открытый ключ наряду с идентификатором используемого алгоритма (указывающим криптосистему, к которой принадлежит данный ключ) и прочая информация о параметрах ключа.
Серийный номер сертификата — организация-издатель сертификата обязана присвоить ему уникальный серийный (порядковый) номер для его опознавания среди прочих сертификатов, выданных данной организацией. Эта информация применяется в ряде случаев; например, при аннулировании сертификата, его серийный номер помещается в список аннулированных сертификатов (Certificate Revocation List, CRL).
Уникальный опознаватель владельца ключа (или DN, distinguished name — уникальное имя) — это имя должно быть уникальным и единственным во всём Интернете. DN состоит из нескольких подпунктов и может выглядеть примерно так:
O=PGP Corporation, C=US
(Что обозначает Понятное имя субъекта, Электронную почту, Подразделение организации, Организацию и Страну соответственно.)
Период действия сертификата — дата начала действия сертификата и дата окончания его действия; указывает на то, когда сертификат станет недействителен.
Уникальное имя издателя — уникальное имя организации, подписавшей сертификат. Обычно, это наименование Центра сертификации. Использование сертификата подразумевает доверие организации, его подписавшей. (В случаях с корневыми сертификатами выдавшая организация — этот же ЦС — подписывает его сама.)
ЭЦП издателя — электронная подпись, созданная закрытым ключом организации, выдавшей сертификат. Идентификатор алгоритма подписи — указывает алгоритм, использованный ЦС для подписания сертификата.
Существует ряд фундаментальных различий между форматами сертификатов Х.509 и PGP:
вы можете лично создать собственный сертификат PGP;
вы должны запросить и получить сертификат Х.509 от Центра сертификации; сертификаты Х.509 содержат только одно имя владельца сертификата;
сертификаты Х.509 содержат только одну ЭЦП, подтверждающую подлинность сертификата.
Чтобы получить сертификат Х.509, вы должны попросить ЦС выдать его вам. Вы предоставляете системе свой открытый ключ, чем доказываете, что обладаете соответствующим закрытым, а также некоторые идентифицирующие вас сведения. Затем вы электронно подписываете эти сведения и отправляете весь пакет — запрос сертификата — в Центр сертификации. ЦС выполняет определённый процесс по проверке подлинности предоставленной информации и, если всё сходится, создаёт сертификат, подписывает и возвращает вам.
Вы можете представить сертификат Х.509, как обычный бумажный сертификат или аттестат с приклеенным к нему открытым ключом. На нём указано ваше имя, а также некоторые сведения о вас, плюс подпись издателя сертификата.
Вероятно, наибольшая польза от сертификатов Х.509, это их применение в Веб-браузерах.
Способы получения цифрового сертификата
Способы получения цифрового сертификата Различаются цифровые сертификаты трех типов: созданные разработчиком, выданные разработчику организацией и полученные от центра сертификации.Цифровой сертификат, созданный разработчиком, обычно используют те пользователи,
Создание собственного сертификата
Создание собственного сертификата Наиболее быстрым способом создания собственного цифрового сертификата является использование программы SelfCert.exe, входящей в состав Microsoft Office 2000/ХР. Запустив эту утилиту, мы получим диалоговое окно, позволяющее задать имя создаваемого
Формат ELF
Формат ELF Формат ELF имеет файлы нескольких типов, которые до сих пор мы называли по-разному, например, исполняемый файл или объектный файл. Тем не менее стандарт ELF различает следующие типы:1. Перемещаемый файл (relocatable file), хранящий инструкции и данные, которые могут быть
3.3.1. Формат RSS
Формат сертификата Х.509
Формат сертификата Х.509 Х.509 — это другой очень распространённый формат. Все сертификаты Х.509 соответствуют международному стандарту ITU-T X.509; таким образом (теоретически), сертификат Х.509, созданный для одного приложения, может быть использован в любом другом,
Аннулирование сертификата
Аннулирование сертификата Применение сертификата допустимо только пока он достоверен. Опасно полагаться на то, что сертификат будет защищён и надёжен вечно. В большинстве организаций и во всех PKI сертификат имеет ограниченный срок "жизни". Это сужает период, в который
Уведомление об аннулировании сертификата
Уведомление об аннулировании сертификата После аннулирования сертификата крайне важно оповестить всех потенциальных корреспондентов, что он более недействителен. Наиболее простой способ оповещения в среде PGP — это размещение аннулированного сертификата на
Дополнения сертификата
Дополнения сертификата Важная информация находится также в дополнениях сертификата. Они позволяют включать в сертификат информацию, которая отсутствует в основном содержании, определять валидность сертификата и наличие у владельца сертификата прав доступа к той или
Онлайновый протокол статуса сертификата
Онлайновый протокол статуса сертификата Онлайновый протокол статуса сертификата OCSP - относительно простой протокол (типа "запрос-ответ") для получения информации об аннулировании от доверенного субъекта, называемого OCSP-респондером . OCSP-запрос состоит из номера версии
Базовый контроль сертификата
Базовый контроль сертификата Базовый контроль сертификата выполняется для всех сертификатов последовательности и состоит из ряда проверок [167]. Проверки, использующие каждую из четырех групп переменных состояния, выполняются, чтобы определить, не является ли
Проверка срока действия сертификата
Проверка срока действия сертификата Эта проверка завершается успешно, если текущие дата и время на момент валидации находятся в пределах срока действия
Проверка статуса сертификата
Проверка статуса сертификата Эта проверка завершается успешно, если издатель не аннулировал данный сертификат. Основным средством проверки статуса сертификата являются списки САС, но могут использоваться и другие альтернативные средства
Проверка подписи сертификата
Проверка подписи сертификата Подпись сертификата может быть проверена на базе первой группы переменных состояния при помощи открытого ключа издателя сертификата, использования корректных параметров и алгоритма цифровой
Подготовка следующего сертификата
Подготовка следующего сертификата Сначала выполняется некоторая простая проверка сертификата УЦ. Затем обновляются переменные состояния, для того чтобы они могли отражать значения полей дополнений сертификата. Существует несколько дополнений, которые встречаются
Завершение обработки сертификата
Завершение обработки сертификата Когда завершается обработка сертификата конечного субъекта, на основании значений переменных состояния устанавливаются выходные значения.Корректировка переменных состояния верификации цифровой подписи. В поле информации об
Квалифицированная электронная подпись состоит из открытого и закрытого ключа. Обе составляющие создаются с помощью криптографических алгоритмов. Для работы с КЭП нужно использовать оба ключа — каждый из них выполняет свою функцию.
Что такое открытый ключ ЭЦП
Открытый ключ электронной подписи представляется в виде электронного сертификата или бумажного документа. Сертификат выдаётся только удостоверяющим центром и содержит информацию, которая используется для проверки подписи владельца и шифрования данных.
Открытый ключ можно использовать для работы с партнёрами, в отличие от закрытого, который хранится в защищённом месте. Контрагенты могут использовать открытый ключ владельца для шифрования данных, которые ему посылают. Это означает, что после отправки этих данных, получить доступ к ним сможет только владелец закрытой части ключа.
Сертификат содержит в себе следующие данные:
срок действия сертификата;
реквизиты удостоверяющего центра;
ФИО владельца сертификата;
название криптографического алгоритма;
Электронный сертификат виден на обычных носителях в виде файла с расширением .cer, а на защищённых картах Рутокен, eToken и JaCarta он скрыт. Чтобы увидеть скрытый сертификат, его необходимо экспортировать.
Инструкция как экспортировать открытый ключ
Экспортировать открытый ключ электронной подписи можно через свойства обозревателя либо из криптопровайдера КриптоПро CSP. При этом носитель с ключом должен быть подключён к компьютеру.
Экспорт открытого ключа через свойства обозревателя
1. В системе Windows перейдите в «Пуск» → «Панель управления» → «Свойства обозревателя (Свойства браузера)».
2. Перейдите на вкладку «Содержание» и нажмите на кнопку «Сертификаты».
3. В списке выберите нужный сертификат, щёлкнув по его названию, и нажмите кнопку «Экспорт».
4.В окне «Мастер экспорта сертификатов» нажмите кнопку «Далее», затем «Нет, не экспортировать закрытый ключ» и снова «Далее».
5. В окне «Формат экспортируемого файла» выберите «Файлы в DER-кодировке X.509 (.CER)» и нажмите кнопку «Далее».
6. Выберите место сохранения сертификата, нажав кнопку «Обзор», затем нажмите на кнопку «Сохранить» → «Далее» → «Готово».
Экспорт открытого ключа из КриптоПро CSP
1. В системе Windows перейдите в «Пуск» → «Панель управления» → «КриптоПро CSP».
2. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере».
4. В окне «Сертификат для просмотра» нажмите кнопку «Свойства».
5. Перейдите на вкладку «Состав» и нажмите кнопку «Копировать в файл».
6. В окне «Мастер экспорта сертификатов» нажмите кнопку «Далее», затем «Нет, не экспортировать закрытый ключ» и снова «Далее».
7. В окне «Формат экспортируемого файла» выберите «Файлы в DER-кодировке X.509 (.CER)» и нажмите кнопку «Далее».
8. Выберите место сохранения сертификата, нажав кнопку «Обзор», затем нажмите на кнопку «Сохранить» → «Далее» → «Готово».
Что такое закрытый ключ ЭЦП
Закрытый ключ представлен в виде уникального набора символов, которые используются криптографическим алгоритмом для создания защищённой части электронной подписи.
Владелец электронной подписи использует именно закрытую часть для подписания электронных документов. Любой, кто получает доступ к закрытому ключу электронной подписи, может им воспользоваться. Поэтому его хранят на защищённых носителях: смарт-карте, токене, USB-носителе или дискете.
Хранить закрытый ключ можно на компьютере, однако это небезопасно — воспользоваться им сможет любой, кто имеет доступ к компьютеру. Самым защищённым носителем считается смарт-карта, так как на ней используется двухфакторная аутентификация.
Как и в случае с сертификатом, закрытый ключ может быть как скрыт так и виден, в зависимости от носителя. Он представлен в виде папки, которая содержит несколько файлов с расширением .key, поэтому закрытый ключ также называют контейнером. Скрытый контейнер с закрытым ключом нужно экспортировать, чтобы получить к нему прямой доступ.
Инструкция как экспортировать закрытый ключ
Выполнять экспорт закрытого ключа электронной подписи можно из криптопровайдера КриптоПро CSP.
В системе Windows перейдите в «Пуск» → «Панель управления» → «КриптоПро CSP».
Перейдите на вкладку «Сервис» и нажмите на кнопку «Скопировать контейнер».
В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор», выберите нужный контейнер и нажмите «Ок» → «Далее».
Если вы копируете закрытый ключ с защищённого носителя, введите pin-код.
Введите название копии закрытого ключа и нажмите «Готово».
В окне «Выбор ключевого носителя» выберите носитель, на который будет произведено копирование контейнера с закрытым ключом.
Установите пароль на контейнер. Несмотря на то что этот шаг необязательный, установка пароля обеспечит дополнительную защиту.
Открытый и закрытый ключи квалифицированной электронной подписи выполняют разные функции, но для работы нужны обе части. В некоторых случаях владельцу ЭЦП нужно сделать экспорт на другой носитель, воспользоваться он может как средствами Windows, так и криптопровайдером КриптоПро CSP.
Читайте также: