DER-бинарный файл (.der)

Рекомендация Стандарт

Правила различающегося кодирования (DER) представляют собой строгий канонический бинарный стандарт кодирования для структур данных ASN.1, обеспечивающий однозначное побитово точное представление сертификатов безопасности и криптографических ключей.

Конвертировать из DER в PEM

Бесплатный конвертер из DER в PEM прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы DER по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы DER по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

30 82

ПРЕДСТАВЛЕНИЕ ASCII: 0\x82

Стандартизация: Рекомендация ITU-T X.690

Технические спецификации

Архитектура контейнераСтрогое каноническое бинарное кодирование структур ASN.1 с использованием троек тег-длина-значение (TLV)
СжатиеНесжатые бинарные данные
Порядок байтов (Endianness)Кодирование ASN.1 с прямым порядком байтов (Big-Endian)
Цветовые пространстваН/Д (криптографический бинарный поток)
Каналы и структураКриптографические ключи, сертификаты X.509, списки отзывов сертификатов (CRL) и структуры PKCS
Макс. габаритыНеограниченная длина ASN.1
ПрозрачностьБинарная структура данных ASN.1
Потоковая передача и прогрессивная загрузкаДетерминированное однопроходное каноническое декодирование

Техническая матрица сравнения: DER против конкурентов

Технический атрибутDER (Текущий)PEMCRTP12
Представление данныхСтрогое бинарное кодирование ASN.1Текст в защитной оболочке Base64 ASCIIBase64 PEM или бинарный DERЗашифрованный бинарный архив PKCS #12
Детерминированное хэширование100% канонический битовый потокЗависит от пробелов/баннеровЗависит от форматированияЗашифровано с солью / вектором инициализации (IV)
Размер файлаНаименьший (на ~33% меньше, чем PEM)Больше из-за Base64 (+33%)Больше из-за Base64 (+33%)Больше из-за оболочек шифрования
Поддержка Java и оборудованияРодной стандартТребуется конвертация в JavaТребуется конвертация в JavaПоддерживается в качестве хранилища ключей

Типичные режимы повреждения и руководство по восстановлению в HEX

Ошибка OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.

Первопричина: Поврежденный байт тега-длины-значения (TLV) в заголовке последовательности ASN.1.

Восстановление: Выполните перекодирование с помощью инструмента сертификатов File2File для восстановления действительных канонических байтов DER.

Анализ безопасности и векторы атак на парсер

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

Известные векторы атак

  • Переполнение целых чисел при декодировании глубоко вложенных структур ASN.1 неопределенной длины.
  • Чтение за пределами буфера при синтаксическом анализе некорректных битовых строк.
  • Отказ в обслуживании (DoS) с помощью атак вложенной рекурсии ASN.1.

Защитные лучшие практики: Используйте безопасные для памяти парсеры ASN.1 с принудительными ограничениями максимальной глубины рекурсии.

Исторические истоки и вехи

2021Пересмотр ITU-T X.690 стабилизирует спецификации ASN.1 DER на современных аппаратных токенах.
1997Принято архитектурой криптографии Java (JCA) для бинарного кодирования ключей (X509EncodedKeySpec).
1988Стандартизировано в рамках рекомендации CCITT / ITU-T X.690 как строгое подмножество базовых правил кодирования (BER).

Ключевые преимущества и плюсы

  • Каноничность и детерминированность: гарантирует, что идентичные данные всегда дают абсолютно одинаковый бинарный хэш, что критически важно для цифровых подписей.
  • Более компактный формат по сравнению с PEM: экономит около 33% накладных расходов за счет отказа от кодирования Base64 и ASCII-баннеров.
  • Родной формат для аппаратных модулей безопасности (HSM), смарт-карт и хранилищ ключей Java.

Технические ограничения и минусы

  • Бинарный формат невозможно просмотреть, отредактировать или скопировать в текстовых редакторах.
  • Менее распространен в средах веб-хостинга, которые безоговорочно предпочитают текстовые файлы PEM/CRT.
  • Строгие правила кодирования означают, что любое незначительное несоответствие заполнения приводит к отказу при синтаксическом анализе.

Интересные технические факты

  • DER является строгим подмножеством BER (базовых правил кодирования); если BER допускает несколько действительных способов кодирования значения, то DER разрешает ровно один канонический способ.
  • Если зашифровать файл DER в Base64 и обернуть его в '-----BEGIN CERTIFICATE-----', вы получите стандартный файл PEM.
  • Для класса KeyFactory в Java требуется, чтобы открытые и закрытые ключи RSA предоставлялись в исходном формате DER.

Часто задаваемые технические вопросы

В чем разница между DER и PEM?

DER - это исходный бинарный формат сертификата или ключа. PEM - это тот же файл DER, преобразованный в читаемый текст Base64 с баннерами '-----BEGIN...-----'.

Как конвертировать DER в PEM?

Загрузите ваш файл .der в File2File.app, чтобы преобразовать его в стандартный текстовый сертификат .pem за одну секунду прямо в вашем браузере.

Почему Java использует ключи DER?

Архитектура криптографии Java (JCA) использует массивы байтов PKCS#8 и X.509, закодированные в формате DER, для своих нативных спецификаций ключей.