DER-бинарный файл (.der)
Рекомендация СтандартПравила различающегося кодирования (DER) представляют собой строгий канонический бинарный стандарт кодирования для структур данных ASN.1, обеспечивающий однозначное побитово точное представление сертификатов безопасности и криптографических ключей.
Конвертировать из DER в PEM
Бесплатный конвертер из DER в PEM прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы DER по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (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 (Текущий) | PEM | CRT | P12 |
|---|---|---|---|---|
| Представление данных | Строгое бинарное кодирование ASN.1 | Текст в защитной оболочке Base64 ASCII | Base64 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 с принудительными ограничениями максимальной глубины рекурсии.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Каноничность и детерминированность: гарантирует, что идентичные данные всегда дают абсолютно одинаковый бинарный хэш, что критически важно для цифровых подписей.
- Более компактный формат по сравнению с 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, для своих нативных спецификаций ключей.