5. Textual Encoding of Certificates (Codifica Testuale dei Certificati)
5. Textual Encoding of Certificates (Codifica Testuale dei Certificati)
5.1. Encoding (Codifica)
I certificati a chiave pubblica sono codificati utilizzando l'etichetta "CERTIFICATE". I dati codificati DEVONO essere una struttura ASN.1 Certificate codificata in BER (DER fortemente preferito; vedi Appendice B) come descritto nella Sezione 4 di [RFC5280].
-----BEGIN CERTIFICATE-----
MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G
A1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y
aXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0
ZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw
CQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy
dGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu
dVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X
uQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud
DwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG
SM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA
l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=
-----END CERTIFICATE-----
Figura 6: Esempio di Certificato
Storicamente, le etichette "X509 CERTIFICATE" e anche meno comunemente "X.509 CERTIFICATE" sono state utilizzate. I generatori conformi a questo documento DEVONO generare etichette "CERTIFICATE" e NON DEVONO generare etichette "X509 CERTIFICATE" o "X.509 CERTIFICATE". I parser NON DOVREBBERO trattare "X509 CERTIFICATE" o "X.509 CERTIFICATE" come equivalenti a "CERTIFICATE", ma un'eccezione valida può essere per la retrocompatibilità (potenzialmente insieme a un avviso).
5.2. Explanatory Text (Testo Esplicativo)
Molti strumenti sono noti per emettere testo esplicativo prima della riga BEGIN e dopo la riga END per i certificati PKIX, più di qualsiasi altro tipo. Se emesso, tale testo DOVREBBE essere correlato al certificato, come fornire una rappresentazione testuale degli elementi chiave dei dati nel certificato.
Subject: CN=Atlantis
Issuer: CN=Atlantis
Validity: from 7/9/2012 3:10:38 AM UTC to 7/9/2013 3:10:37 AM UTC
-----BEGIN CERTIFICATE-----
MIIBmTCCAUegAwIBAgIBKjAJBgUrDgMCHQUAMBMxETAPBgNVBAMTCEF0bGFudGlz
MB4XDTEyMDcwOTAzMTAzOFoXDTEzMDcwOTAzMTAzN1owEzERMA8GA1UEAxMIQXRs
YW50aXMwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAu+BXo+miabDIHHx+yquqzqNh
Ryn/XtkJIIHVcYtHvIX+S1x5ErgMoHehycpoxbErZmVR4GCq1S2diNmRFZCRtQID
AQABo4GJMIGGMAwGA1UdEwEB/wQCMAAwIAYDVR0EAQH/BBYwFDAOMAwGCisGAQQB
gjcCARUDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDAzA1BgNVHQEE
LjAsgBA0jOnSSuIHYmnVryHAdywMoRUwEzERMA8GA1UEAxMIQXRsYW50aXOCASow
CQYFKw4DAh0FAANBAKi6HRBaNEL5R0n56nvfclQNaXiDT174uf+lojzA4lhVInc0
ILwpnZ1izL4MlI9eCSHhVQBHEp2uQdXJB+d5Byg=
-----END CERTIFICATE-----
Figura 7: Esempio di Certificato con Testo Esplicativo
5.3. File Extension (Estensione File)
Sebbene le codifiche testuali delle strutture PKIX possano apparire ovunque, molti strumenti sono noti per offrire un'opzione per produrre questa codifica durante la serializzazione delle strutture PKIX. Per promuovere l'interoperabilità e per separare le codifiche DER dalle codifiche testuali, l'estensione ".crt" DOVREBBE essere utilizzata per la codifica testuale di un certificato. Le implementazioni dovrebbero essere consapevoli che, nonostante questa raccomandazione, molti strumenti ancora per impostazione predefinita codificano i certificati in questa codifica testuale con l'estensione ".cer".
Questa sezione non disturba in alcun modo la registrazione ufficiale di application/pkix-cert [RFC2585] (che afferma che "ogni file '.cer' contiene esattamente un certificato, codificato in formato DER"), ma articola semplicemente un'alternativa de facto diffusa.