Двійковий файл DER (.der)
ITU-T СтандартDistinguished Encoding Rules (DER) - це суворий канонічний двійковий стандарт кодування для структур даних ASN.1, що забезпечує однозначне побітове представлення сертифікатів безпеки та криптографічних ключів.
Конвертувати з DER у PEM
Безкоштовний конвертер з DER у PEM у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли DER, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли DER, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
30 82ASCII-УЯВЛЕННЯ: 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 (Поточний) | PEM | CRT | P12 |
|---|---|---|---|---|
| Представлення даних | Суворе двійкове кодування ASN.1 | Текст, захищений Base64 ASCII | Base64 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.
Захисні найкращі практики:
Історичне походження та віхи
Головні переваги та плюси
- Канонічність і детермінованість: гарантує, що ідентичні дані завжди створюють той самий двійковий хеш, що є критично важливим для цифрових підписів.
- Більш компактний порівняно з 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 для своїх власних специфікацій ключів.