Binarny DER (.der)
ITU-T StandardDistinguished 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):
Brak uniwersalnej sygnatury (kodowanie ASN.1 DER)REPREZENTACJA ASCII: Brak stałej sygnatury ASCII
Normalizacja: ITU-T Recommendation X.690
Specyfikacja techniczna
| Architektura kontenera | Ścisłe, kanoniczne kodowanie binarne struktur ASN.1 za pomocą trójek typu znacznik-długość-wartość (TLV) |
| Kompresja | Nieskompresowane dane binarne |
| Kolejność bajtów (Endianness) | Kodowanie ASN.1 w kolejności Big-Endian |
| Przestrzenie kolorów | Nie dotyczy (binarny strumień kryptograficzny) |
| Kanały i struktura | Klucze kryptograficzne, certyfikaty X.509, listy CRL i struktury PKCS |
| Maks. wymiary | Unbounded ASN.1 length |
| Przezroczystość | Binarny format danych ASN.1 |
| Streaming i progresywne ładowanie | Determiniczne, kanoniczne dekodowanie w jednym przebiegu |
Techniczna macierz porównawcza: DER a konkurencja
| Atrybut techniczny | DER (Bieżący) | PEM | CRT | P12 |
|---|---|---|---|---|
| Reprezentacja danych | Ścisłe binarne kodowanie ASN.1 | Tekst ASCII zakodowany w Base64 | 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 (około 33% mniejszy niż PEM) | Większy z powodu kodowania Base64 (+33%) | Większy z powodu kodowania 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: Przekonwertuj plik za pomocą File2File.app Certificate Tool, aby odtworzyć poprawne bajty DER w postaci kanonicznej.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery DER analizują deskryptory długości. Niedomiar lub przepełnienie liczb całkowitych może doprowadzić do 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: Używaj parserów ASN.1 bezpiecznych dla pamięci z wymuszonymi limitami maksymalnej głębokości rekurencji.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Kanoniczny i deterministyczny: te same dane zawsze dają dokładnie ten sam skrót binarny, co jest niezbędne przy podpisach cyfrowych.
- Bardziej kompaktowy niż PEM: oszczędza około 33% miejsca dzięki pominięciu 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 dopuszcza wiele poprawnych 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.