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

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

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

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

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

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

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

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

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

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

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

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

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

Фиксированной сигнатуры нет

ПРЕДСТАВЛЕНИЕ ASCII: Фиксированной сигнатуры нет

Стандартизация: Рекомендация 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Текст ASCII с обрамлением Base64Base64 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.app для восстановления действительных канонических байтов 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, для своих нативных спецификаций ключей.