Двійковий файл DER (.der)

ITU-T Стандарт

Distinguished Encoding Rules (DER) - це суворий канонічний двійковий стандарт кодування для структур даних ASN.1, що забезпечує однозначне побітове представлення сертифікатів безпеки та криптографічних ключів.

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

Безкоштовний конвертер з DER у PEM у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

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

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

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

30 82

ASCII-УЯВЛЕННЯ: 0\x82

Стандартизація: ITU-T Recommendation X.690

Технічні характеристики

Архітектура контейнераStrict canonical binary encoding of ASN.1 structures using Tag-Length-Value (TLV) triples
СтисненняUncompressed binary data
Порядок байтів (Endianness)Big-Endian ASN.1 encoding
Колірні просториN/A (Cryptographic Binary Stream)
Канали та структураCryptographic keys, X.509 certificates, CRLs, and PKCS structures
Максимальні розміриUnbounded ASN.1 length
ПрозорістьBinary ASN.1 data structure
Потокове та прогресивне завантаженняDeterministic single-pass canonical decoding

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

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

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Помилка OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.

Першопричина: Пошкоджений байт Тег-Довжина-Значення (TLV) у заголовку послідовності ASN.1.

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

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

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

Відомі вектори атак

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

Захисні найкращі практики:

Історичне походження та віхи

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

Головні переваги та плюси

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

Технічні обмеження та мінуси

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

Цікаві технічні факти

  • DER є суворою підмножиною BER (Basic Encoding Rules); хоча 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) використовує закодовані у DER масиви байтів PKCS#8 та X.509 для своїх власних специфікацій ключів.