Aller au contenu principal

5. Encodage Textuel des Certificats

5. Encodage Textuel des Certificats

5.1. Encodage

Les certificats à clés publiques sont encodés en utilisant l'étiquette "CERTIFICATE". Les données encodées DOIVENT être une structure ASN.1 Certificate encodée en BER (DER fortement préféré; voir Annexe B) telle que décrite dans la Section 4 du [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-----

Figure 6: Exemple de Certificat

Historiquement, les étiquettes "X509 CERTIFICATE" et aussi moins couramment "X.509 CERTIFICATE" ont été utilisées. Les générateurs conformes à ce document DOIVENT générer des étiquettes "CERTIFICATE" et NE DOIVENT PAS générer d'étiquettes "X509 CERTIFICATE" ou "X.509 CERTIFICATE". Les analyseurs NE DEVRAIENT PAS traiter "X509 CERTIFICATE" ou "X.509 CERTIFICATE" comme équivalents à "CERTIFICATE", mais une exception valide peut être pour la rétrocompatibilité (potentiellement avec un avertissement).

5.2. Texte Explicatif

De nombreux outils sont connus pour émettre du texte explicatif avant les lignes BEGIN et après les lignes END pour les certificats PKIX, plus que tout autre type. Si émis, un tel texte DEVRAIT être lié au certificat, comme fournir une représentation textuelle des éléments de données clés dans le certificat.

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-----

Figure 7: Exemple de Certificat avec Texte Explicatif

5.3. Extension de Fichier

Bien que les encodages textuels des structures PKIX puissent apparaître n'importe où, de nombreux outils sont connus pour offrir une option pour produire cet encodage lors de la sérialisation des structures PKIX. Pour promouvoir l'interopérabilité et pour séparer les encodages DER des encodages textuels, l'extension ".crt" DEVRAIT être utilisée pour l'encodage textuel d'un certificat. Les implémentations devraient être conscientes que malgré cette recommandation, de nombreux outils encodent toujours par défaut les certificats dans cet encodage textuel avec l'extension ".cer".

Cette section ne perturbe en rien l'enregistrement officiel application/pkix-cert [RFC2585] (qui stipule que "chaque fichier '.cer' contient exactement un certificat, encodé au format DER"), mais articule simplement une alternative de facto répandue.