Binar DER (.der)
Recomandarea StandardDistinguished Encoding Rules (DER) este standardul strict și canonic de codificare binară pentru structurile de date ASN.1, asigurând o reprezentare precisă, fără ambiguități, a certificatelor de securitate și a cheilor criptografice.
Convertește din DER în PEM
Convertor gratuit din DER în PEM direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele DER prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele DER prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):
Fără semnătură fixăREPREZENTARE ASCII: Fără semnătură fixă
Standardizare: Recomandarea ITU-T X.690
Specificații tehnice
| Arhitectură container | Codificare binară canonică strictă a structurilor ASN.1 folosind triplete Tag-Length-Value (TLV) |
| Compresie | Date binare necomprimate |
| Ordinea octeților | Codificare ASN.1 Big-Endian |
| Spații de culoare | Nu se aplică (flux binar criptografic) |
| Canale și structură | Chei criptografice, certificate X.509, liste de certificate revocate (CRL) și structuri PKCS |
| Dimensiuni maxime | Lungime ASN.1 nelimitată |
| Transparență | Structură binară de date ASN.1 |
| Streaming și progresiv | Decodare canonică deterministă, într-o singură trecere |
Matrice de comparație tehnică: DER vs. concurenți
| Atribut tehnic | DER (Curent) | PEM | CRT | P12 |
|---|---|---|---|---|
| Reprezentarea datelor | Codificare binară ASN.1 strictă | Text codificat în Base64 ASCII | PEM Base64 sau DER binar | Arhivă binară criptată PKCS #12 |
| Generare deterministă a hashului | Flux de biți 100% canonic | Depinde de spațiile albe/elementele de încadrare | Depinde de formatare | Criptat cu salt/IV |
| Dimensiunea fișierului | Cel mai mic (~33% mai mic decât PEM) | Mai mare din cauza Base64 (+33%) | Mai mare din cauza Base64 (+33%) | Mai mare din cauza mecanismelor de criptare |
| Suport Java și Hardware | Standard nativ | Necesită conversie în Java | Necesită conversie în Java | Suportat ca fișier de chei (keystore) |
Moduri comune de corupție și ghid de recuperare hexazecimală
Eroare OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
Cauză principală: Octet Tag-Length-Value (TLV) corupt în antetul secvenței ASN.1.
Recuperare: Recodează fișierul cu File2File.app Certificate Tool pentru a reface secvența canonică de octeți DER validă.
Analiză de securitate și vectori de atac asupra parserului
Decodoarele DER analizează descriptorii de lungime unde subdepășirea sau depășirea valorii întregi poate declanșa depășiri de tampon în bibliotecile criptografice native.
Vectori de atac cunoscuți
- Depășire aritmetică a unui întreg la analizarea codificărilor ASN.1 de lungime malformate sau imbricate profund.
- Citire în afara limitelor la analizarea șirurilor de biți formate incorect.
- Refuz de serviciu (DoS) prin bombă de recursivitate ASN.1 imbricată.
Cele mai bune practici de securitate: Folosește parsere ASN.1 sigure pentru memorie, cu limite impuse pentru adâncimea maximă a recursivității.
Origini istorice și repere
Avantaje cheie și beneficii
- Canonic și determinist: garantează că datele identice produc întotdeauna exact același hash binar, esențial pentru semnăturile digitale.
- Mai compact decât PEM: economisește aproximativ 33% din suprasarcină prin omiterea codificării Base64 și a bannerelor ASCII.
- Format nativ pentru module de securitate hardware (HSM-uri), carduri inteligente și fișiere de chei Java.
Limitări tehnice și dezavantaje
- Formatul binar nu poate fi vizualizat, editat sau copiat în editorii de text.
- Mai puțin comun în mediile de găzduire web, care preferă în mod covârșitor fișierele PEM/CRT bazate pe text.
- Regulile stricte de codificare înseamnă că orice mică neconcordanță de completare (padding) duce la respingerea analizării.
Curiozități tehnice interesante
- DER este o submulțime strictă a BER (Basic Encoding Rules); în timp ce BER permite mai multe moduri valide de a codifica o valoare, DER permite exact un singur mod canonic.
- Dacă codifici un fișier DER în Base64 și îl încadrezi între marcajele „-----BEGIN CERTIFICATE-----”, obții un fișier PEM standard.
- KeyFactory din Java necesită ca cheile publice și private RSA să fie furnizate în format DER brut.
Întrebări tehnice frecvente
Care este diferența dintre DER și PEM?
DER este formatul binar brut al unui certificat sau al unei chei. PEM este pur și simplu același fișier DER convertit în text Base64 citibil, cu bannere „-----BEGIN...-----”.
Cum pot converti DER în PEM?
Încarcă fișierul .der pe File2File.app pentru a-l converti într-un certificat text standard .pem într-o secundă, direct în browserul tău.
De ce folosește Java chei DER?
Arhitectura criptografică Java (Java Cryptography Architecture - JCA) utilizează matrici de octeți PKCS#8 și X.509 codificate în format DER pentru specificațiile sale de chei native.