DER двоичен (.der)
ITU-T СтандартПравилата за разграничително кодиране (DER) са строгият, каноничен двоичен стандарт за кодиране на структури от данни ASN.1, осигуряващ еднозначно битово точно представяне на сертификати за сигурност и криптиращи ключове.
Конвертиране от DER към PEM
Безплатен конвертор от DER към PEM в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират DER файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират DER файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
Няма универсална сигнатура (ASN.1 DER кодиране)ASCII ПРЕДСТАВЯНЕ: Няма фиксиран подпис
Стандартизация: ITU-T Recommendation X.690
Технически спецификации
| Контейнерна архитектура | Строго канонично двоично кодиране на ASN.1 структури чрез тройки Tag-Length-Value (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 | Поддържа се като хранилище на ключове |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Грешка на OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
Първопричина: Повреден байт за таг-дължина-стойност (TLV) в заглавната част на ASN.1 последователността.
Възстановяване: Прекодирайте с помощта на инструмента за сертификати File2File.app, за да възстановите валидните канонични байтове на DER.
Анализ на сигурността и вектори на атака към парсера
Декодерите на DER анализират дескриптори на дължината, където препълването/недопълването на цели числа може да предизвика препълване на буфера в криптографските библиотеки, работещи на устройството.
Известни вектори на атака
- Препълване на цяло число по време на декодиране на неопределени дължини в дълбоко вложени структури ASN.1.
- Четене извън границите при анализ на неправилно форматирани битови низове.
- Отказ от услуга чрез вложени рекурсивни атаки тип „бомба“ чрез 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) използва кодирани в DER байтови масиви PKCS#8 и X.509 за своите оригинални спецификации на ключове.