DER двоичен (.der)

ITU-T Стандарт

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

Конвертиране от DER към PEM

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират 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 (Текущ)PEMCRTP12
Представяне на даннитеСтриктно двоично 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 парсери с наложени лимити за максимална дълбочина на рекурсията.

Исторически произход и етапи

2021Ревизията ITU-T X.690 стабилизира спецификациите ASN.1 DER в съвременните хардуерни токени.
1997Възприет от Java Cryptography Architecture (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) използва кодирани в DER байтови масиви PKCS#8 и X.509 за своите оригинални спецификации на ключове.