Binární soubor DER (.der)
ITU-T StandardníDistinguished Encoding Rules (DER) je přísný, kanonický binární kódovací standard pro datové struktury ASN.1, který poskytuje jednoznačnou reprezentaci bezpečnostních certifikátů a kryptografických klíčů s přesností na bity.
Převést DER na PEM
Bezplatný konvertor z DER do PEM v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory DER kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory DER kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
Žádný univerzální podpis (kódování ASN.1 DER)ASCII REPREZENTACE: Bez pevného podpisu
Standardizace: ITU-T Recommendation X.690
Technické specifikace
| Architektura kontejneru | Přísné kanonické binární kódování struktur ASN.1 pomocí trojic Tag-Length-Value (TLV) |
| Komprese | Nekomprimovaná binární data |
| Pořadí bajtů | Big-endian kódování ASN.1 |
| Barevné prostory | Nevztahuje se (kryptografický binární proud) |
| Kanály a struktura | Kryptografické klíče, certifikáty X.509, seznamy odvolaných certifikátů (CRL) a struktury PKCS |
| Max. rozměry | Délka ASN.1 není omezená |
| Průhlednost | Binární datová struktura ASN.1 |
| Streamování a progresivní načítání | Deterministické kanonické dekódování v jednom průchodu |
Technická srovnávací matice: DER vs konkurence
| Technický atribut | DER (Aktuální) | PEM | CRT | P12 |
|---|---|---|---|---|
| Reprezentace dat | Přísné binární kódování ASN.1 | Text kódovaný v Base64 a reprezentovaný v ASCII | Base64 PEM nebo binární DER | Šifrovaný binární archiv PKCS #12 |
| Deterministické hashování | 100% kanonický bitový proud | Závisí na mezerách/hlavičkách | Závisí na formátování | Šifrováno pomocí soli/IV |
| Velikost souboru | Nejmenší (~o 33 % menší než PEM) | Větší kvůli Base64 (+33 %) | Větší kvůli Base64 (+33 %) | Větší kvůli šifrovacím obálkám |
| Podpora Javy a hardwaru | Nativní standard | Vyžaduje konverzi v Javě | Vyžaduje konverzi v Javě | Podporováno jako keystore |
Běžné režimy poškození a příručka pro obnovení v hex
Chyba OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
Hlavní příčina: Poškozený bajt Tag-Length-Value (TLV) v hlavičce sekvence ASN.1.
Obnovení: Překódujte pomocí nástroje File2File.app Certificate Tool pro obnovení platných kanonických bajtů DER.
Bezpečnostní analýza a vektory útoků na parser
Dekodéry DER parsují deskriptory délky, u nichž může podtečení nebo přetečení celého čísla vyvolat přetečení vyrovnávací paměti v nativních kryptografických knihovnách.
Známé vektory útoků
- Přetečení celého čísla během dekódování hluboce vnořených struktur ASN.1 s neurčitou délkou.
- Čtení mimo vyhrazenou paměť při parsování chybně formátovaných bitových řetězců.
- Útok odepření služby (DoS) prostřednictvím rekurzivních bomb vnořeného ASN.1.
Doporučené bezpečnostní postupy: Používejte analyzátory ASN.1 bezpečné pro paměť s vynucenými limity maximální hloubky rekurze.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Kanonické a deterministické: zaručuje, že identická data mají vždy přesně stejný binární hash, což je nezbytné pro digitální podpisy.
- Kompaktnější než PEM: šetří přibližně 33 % režie tím, že vynechává kódování Base64 a textové hlavičky.
- Nativní formát pro hardwarové bezpečnostní moduly (HSM), čipové karty a úložiště klíčů Java.
Technická omezení a nevýhody
- Binární formát nelze zobrazit, upravit ani zkopírovat v textových editorech.
- Méně obvyklé v prostředí webhostingu, který jednoznačně upřednostňuje textové soubory PEM/CRT.
- Přísná kódovací pravidla znamenají, že jakákoli drobná nesrovnalost ve výplni způsobí odmítnutí při parsování.
Zajímavé technické drobnosti
- DER je přísnou podmnožinou pravidel BER (Basic Encoding Rules); zatímco BER umožňuje více platných způsobů kódování hodnoty, DER povoluje přesně jeden kanonický způsob.
- Pokud zakódujete soubor DER do formátu Base64 a zabalíte ho do '-----BEGIN CERTIFICATE-----', získáte standardní soubor PEM.
- Třída KeyFactory v Javě vyžaduje, aby veřejné a soukromé klíče RSA byly dodávány v surovém formátu DER.
Často kladené technické otázky
Jaký je rozdíl mezi DER a PEM?
DER je surový binární formát certifikátu nebo klíče. PEM je jednoduše týž soubor DER převedený na čitelný text v kódování Base64 s hlavičkami „-----BEGIN...-----“.
Jak mohu převést DER na PEM?
Nahráním souboru .der do aplikace File2File.app jej převedete na standardní textový certifikát .pem během jedné sekundy přímo ve vašem prohlížeči.
Proč Java používá klíče DER?
Architektura Java Cryptography Architecture (JCA) používá pro své nativní specifikace klíčů bajtová pole PKCS#8 a X.509 kódovaná ve formátu DER.