Zum Hauptinhalt springen

5. Textual Encoding of Certificates (Textuelle Kodierung von Zertifikaten)

5.1. Encoding (Kodierung)

Public-Key-Zertifikate werden mit der Bezeichnung "CERTIFICATE" kodiert. Die kodierten Daten MÜSSEN eine BER-kodierte (DER stark bevorzugt; siehe Appendix B) ASN.1 Certificate-Struktur sein, wie in Section 4 von [RFC5280] beschrieben.

-----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: Certificate Example (Zertifikatbeispiel)

Historisch wurden die Bezeichnungen "X509 CERTIFICATE" und auch weniger häufig "X.509 CERTIFICATE" verwendet. Generatoren, die diesem Dokument entsprechen, MÜSSEN "CERTIFICATE"-Bezeichnungen generieren und DÜRFEN NICHT "X509 CERTIFICATE"- oder "X.509 CERTIFICATE"-Bezeichnungen generieren. Parser SOLLTEN NICHT "X509 CERTIFICATE" oder "X.509 CERTIFICATE" als gleichwertig zu "CERTIFICATE" behandeln, aber eine gültige Ausnahme kann für Rückwärtskompatibilität sein (möglicherweise zusammen mit einer Warnung).

5.2. Explanatory Text (Erläuternder Text)

Viele Tools geben bekanntermaßen erläuternden Text vor den BEGIN-Zeilen und nach den END-Zeilen für PKIX-Zertifikate aus, mehr als für jeden anderen Typ. Falls ausgegeben, SOLLTE solcher Text mit dem Zertifikat zusammenhängen, beispielsweise durch Bereitstellung einer textuellen Darstellung wichtiger Datenelemente im Zertifikat.

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: Certificate Example with Explanatory Text (Zertifikatbeispiel mit erläuterndem Text)

5.3. File Extension (Dateierweiterung)

Obwohl textuelle Kodierungen von PKIX-Strukturen überall auftreten können, bieten viele Tools bekanntermaßen eine Option an, diese Kodierung beim Serialisieren von PKIX-Strukturen auszugeben. Um die Interoperabilität zu fördern und DER-Kodierungen von textuellen Kodierungen zu trennen, SOLLTE die Erweiterung ".crt" für die textuelle Kodierung eines Zertifikats verwendet werden. Implementierungen sollten sich bewusst sein, dass trotz dieser Empfehlung viele Tools standardmäßig immer noch Zertifikate in dieser textuellen Kodierung mit der Erweiterung ".cer" kodieren.

Dieser Abschnitt stört die offizielle application/pkix-cert-Registrierung [RFC2585] in keiner Weise (die besagt, dass "jede '.cer'-Datei genau ein Zertifikat enthält, kodiert im DER-Format"), sondern formuliert lediglich eine weit verbreitete De-facto-Alternative.