Binarny DER (.der)
ITU-T StandardowyDistinguished Encoding Rules (DER) to ścisły, kanoniczny standard kodowania binarnego dla struktur danych ASN.1, zapewniający jednoznaczną, zgodną co do bitu reprezentację certyfikatów bezpieczeństwa i kluczy kryptograficznych.
Konwertuj DER na PEM
Darmowy konwerter z DER na PEM w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki DER, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki DER, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
30 82REPREZENTACJA ASCII: 0\x82
Normalizacja: ITU-T Recommendation X.690
Specyfikacja techniczna
| Architektura kontenera | Strict canonical binary encoding of ASN.1 structures using Tag-Length-Value (TLV) triples |
| Kompresja | Uncompressed binary data |
| Kolejność bajtów (Endianness) | Big-Endian ASN.1 encoding |
| Przestrzenie kolorów | N/A (Cryptographic Binary Stream) |
| Kanały i struktura | Cryptographic keys, X.509 certificates, CRLs, and PKCS structures |
| Maks. wymiary | Unbounded ASN.1 length |
| Przezroczystość | Binary ASN.1 data structure |
| Streaming i progresywne ładowanie | Deterministic single-pass canonical decoding |
Techniczna macierz porównawcza: DER a konkurencja
| Atrybut techniczny | DER (Bieżący) | PEM | CRT | P12 |
|---|---|---|---|---|
| Reprezentacja danych | Ścisłe binarne kodowanie ASN.1 | Tekst pancerny Base64 ASCII | Base64 PEM lub binarny DER | Zaszyfrowane binarne archiwum PKCS #12 |
| Deterministyczne haszowanie | 100% kanoniczny strumień bitów | Zależy od białych znaków/banerów | Zależy od formatowania | Zaszyfrowane z solą/IV |
| Rozmiar pliku | Najmniejszy (~33% mniejszy niż PEM) | Większy z powodu Base64 (+33%) | Większy z powodu Base64 (+33%) | Większy z powodu otok szyfrujących |
| Obsługa Java i sprzętu | Natywny standard | Wymaga konwersji w Javie | Wymaga konwersji w Javie | Obsługiwany jako magazyn kluczy |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Błąd OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
Główna przyczyna: Uszkodzony bajt typu-długości-wartości (TLV) w nagłówku sekwencji ASN.1.
Odzyskiwanie: Przetranskoduj za pomocą narzędzia File2File Certificate Tool, aby odbudować poprawne kanoniczne bajty DER.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery DER analizują deskryptory długości, gdzie niedomiar lub nadmiar liczb całkowitych może wywołać błędy przepełnienia bufora w natywnych bibliotekach kryptograficznych.
Znane wektory ataku
- Przepełnienie liczbowe podczas dekodowania głęboko zagnieżdżonych struktur ASN.1 o nieokreślonej długości.
- Odczyt spoza bufora przy parsowaniu wadliwych ciągów bitowych.
- Atak typu odmowa usługi (DoS) za pomocą zagnieżdżonych bomb rekurencyjnych ASN.1.
Najlepsze praktyki obronne:
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Kanoniczny i deterministyczny: gwarantuje, że identyczne dane zawsze generują dokładnie ten sam skrót binarny, co jest niezbędne dla podpisów cyfrowych.
- Bardziej kompaktowy niż PEM: oszczędza około 33% narzutu poprzez pominięcie kodowania Base64 i banerów ASCII.
- Natywny format dla sprzętowych modułów bezpieczeństwa (HSM), kart inteligentnych i magazynów kluczy Java.
Ograniczenia techniczne i wady
- Format binarny nie może być przeglądany, edytowany ani wklejany w edytorach tekstowych.
- Mniej powszechny w środowiskach hostingu internetowego, które zdecydowanie preferują pliki tekstowe PEM/CRT.
- Ścisłe reguły kodowania oznaczają, że każda drobna niezgodność w dopełnieniu (padding) powoduje odrzucenie pliku podczas analizy.
Ciekawe informacje techniczne
- DER jest ścisłym podzbiorem BER (Basic Encoding Rules); podczas gdy BER pozwala na wiele ważnych sposobów kodowania wartości, DER dopuszcza dokładnie jeden sposób kanoniczny.
- Jeśli zakodujesz plik DER za pomocą Base64 i otoczysz go nagłówkami '-----BEGIN CERTIFICATE-----', otrzymasz standardowy plik PEM.
- Klasa KeyFactory w języku Java wymaga, aby klucze publiczne i prywatne RSA były dostarczane w surowym formacie DER.
Często zadawane pytania techniczne
Jaka jest różnica między DER a PEM?
DER to surowy format binarny certyfikatu lub klucza. PEM to po prostu ten sam plik DER przekonwertowany na czytelny tekst Base64 z nagłówkami '-----BEGIN...-----'.
Jak mogę przekonwertować plik DER do formatu PEM?
Prześlij swój plik .der do File2File.app, aby w jedną sekundę przekonwertować go bezpośrednio w przeglądarce na standardowy plik certyfikatu tekstowego .pem.
Dlaczego Java używa kluczy w formacie DER?
Architektura kryptograficzna języka Java (JCA) używa zakodowanych w formacie DER tablic bajtów PKCS#8 oraz X.509 dla swoich natywnych specyfikacji kluczy.