DER двоичен (.der)
ITU-T СтандартПравилата за различно кодиране (DER) са строгият, каноничен двоичен стандарт за кодиране на структури от данни ASN.1, осигуряващ еднозначно битово точно представяне на сертификати за сигурност и криптиращи ключове.
Конвертиране на DER към PEM
Безплатен конвертор от DER към PEM в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират DER файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират DER файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 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.
- Четене извън границите при анализ на деформирани битови низове.
- Отказ от услуга чрез вложени бомби за рекурсия в 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 за своите оригинални спецификации на ключове.