Certificati SSL - Standard, formati ed estensioni principali: PEM, CER, CRT, DER, P7B, PFX, P12 Una panoramica sugli standard, formati ed estensioni dei file più utilizzati per la gestione dei Certificati SSL dai vari sistemi basati su standard X.509 v3

Certificati SSL - Standard, formati ed estensioni principali: PEM, CER, CRT, DER, P7B, PFX, P12

In questo articolo, parte integrante della nostra serie di approfondimenti sulla gestione dei certificati SSL sui sistemi Windows e Linux, cercheremo di fornire una panoramica generale dei formati (e relative estensioni) che si incontrano più di frequente lavorando con i certificati SSL tra i vari sistemi.

Prima di addentrarci nelle descrizioni relative a ciascun formato spenderemo qualche parola sullo standard X.509 v3, il quale rappresenta la base delle definizioni di tutti i formati che andremo ad elencare.

X.509

X.509 è il nome dato a uno standard ITU-T per le infrastrutture a chiave pubblica (PKI): presentato per la prima volta nel 1998, è stato utilizzato negli anni successivi per definire una serie di formati standard per certificati a chiave pubblica e delle relative liste di revoca (CRL, da Certificate Revocation List). Con il termine Certificato X.509 oggi ci si riferisce convenzionalmente alla terza revisione dello standard (X.509 v3), le cui caratteristiche sono descritte nella RFC 5280.

Segue un elenco dei formati più comuni definiti attraverso lo standard X.509 v3 (e relative estensioni).

PEM (.cer .crt .pem .key)

Si tratta del formato piu comune utilizzato per la distribuzione dei certificati. Nella maggior parte dei casi si tratta di file ASCII che contengono uno o più certificati, con o senza chiave privata, codificati in Base64 e racchiusi tra i descrittori -----BEGIN CERTIFICATE-----  e -----END CERTIFICATE----- . La chiave privata, ove presente, sarà racchiusa tra i descrittori -----BEGIN RSA PRIVATE KEY-----  e -----END RSA PRIVATE KEY----- . Nonostante la possibilità di includere la chiave privata all'interno del file PEM / CER / CRT, la maggior parte dei server (Apache, NGINX), si aspettano che quest'ultima sia inserita in un file separato per ragioni di sicurezza.

Le estensioni comunemente utilizzate per questo formato sono .CER, .CRT, .PEM e .KEY (quest'ultimo per la sola chiave privata).

DER (.der .cer)

Si tratta della versione "binaria" del certificato PEM: anche in questo caso il file può contenere un singolo certificato o più certificati, con o senza chiave privata. Si tratta di un formato utilizzato prevalentemente da Java e poco presente sulle altre piattaforme.

Le estensioni comunemente utilizzate per questo formato sono .DER e .CER. Per distinguere un .CER in formato PEM da un .CER in formato .DER è sufficiente aprire il file con un editor di testo e guardare se il file è in formato ASCII oppure no.

PKCS#7 (.p7b .p7c)

Si tratta di un formato in formato ASCII e codificato in Base64, utilizzato prevalentemente da Microsoft Windows e da Java Tomcat.

Le estensioni comunemente utilizzate per questo formato sono .P7B e .P7C.

PKCS#12 (.pfx .p12)

Formato binario che racchiude il certificato, l'insieme dei certificati intermedi (se presenti) e la chiave privata in un unico file criptato e protetto da password. E' utilizzato prevalentemente all'interno dei sistemi e delle infrastrutture Windows per importare ed esportare certificati e chiavi private tra i vari servizi e applicativi (Firewall, Proxy, etc.).

Le estensioni comunemente utilizzate per questo formato sono .PFX e .P12.

Conclusioni

Per il momento è tutto: ci auguriamo che questa panoramica vi abbia fornito qualche informazione in più sull'universo dei certificati e dei loro formati.

Se avete bisogno di ulteriori informazioni, ad esempio sulla conversione tra i vari formati sopra elencati mediante lo strumento OpenSSL o tramite strumenti online, consigliamo di consultare questo articolo.

Alla prossima!

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.