Freigeben über


X.509 Public Key-Zertifikate

Kryptografie mit öffentlichem Schlüssel basiert auf einem öffentlichen und privaten Schlüsselpaar, um Inhalte zu verschlüsseln und zu entschlüsseln. Die Schlüssel sind mathematisch verwandt, und Inhalte, die mit einem der Schlüssel verschlüsselt werden, können nur mit dem anderen entschlüsselt werden. Der private Schlüssel wird geheim gehalten. Der öffentliche Schlüssel ist in der Regel in ein Binärzertifikat eingebettet, und das Zertifikat wird in einer Datenbank veröffentlicht, die von allen autorisierten Benutzern erreicht werden kann.

Der X.509 Public Key Infrastructure (PKI)-Standard identifiziert die Anforderungen für robuste Public Key-Zertifikate. Ein Zertifikat ist eine signierte Datenstruktur, die einen öffentlichen Schlüssel an eine Person, einen Computer oder eine Organisation bindet. Zertifikate werden von Zertifizierungsstellen (CAs) ausgestellt. Alle, die Partei für die Sicherung der Kommunikation sind, die einen öffentlichen Schlüssel nutzen, verlassen sich auf die Zertifizierungsstelle, um die Identitäten der Personen, Systeme oder Entitäten, für die sie Zertifikate ausgibt, angemessen zu überprüfen. Die Überprüfungsebene hängt in der Regel von der für die Transaktion erforderlichen Sicherheitsstufe ab. Wenn die Zertifizierungsstelle die Identität des Antragstellers entsprechend überprüfen kann, signiert sie (verschlüsselt), codiert und gibt das Zertifikat aus.

Ein Zertifikat ist eine signierte Datenstruktur, die einen öffentlichen Schlüssel an eine Entität bindet. Die Syntax abstrakte Syntax Notation One (ASN.1) für die Version 3 X.509 Zertifikat wird im folgenden Beispiel gezeigt.

-- X.509 signed certificate 

SignedContent ::= SEQUENCE 
{
  certificate         CertificateToBeSigned,
  algorithm           Object Identifier,
  signature           BITSTRING
}
 
-- X.509 certificate to be signed

CertificateToBeSigned ::= SEQUENCE 
{
  version                 [0] CertificateVersion DEFAULT v1,
  serialNumber            CertificateSerialNumber,
  signature               AlgorithmIdentifier,
  issuer                  Name
  validity                Validity,
  subject                 Name
  subjectPublicKeyInfo    SubjectPublicKeyInfo,
  issuerUniqueIdentifier  [1] IMPLICIT UniqueIdentifier OPTIONAL,
  subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
  extensions              [3] Extensions OPTIONAL
}

Seit ihrer Gründung im Jahr 1998 haben sich drei Versionen des Zertifikatstandards für öffentliche Schlüssel von X.509 weiterentwickelt. Wie in der folgenden Abbildung dargestellt, hat jede aufeinander folgende Version der Datenstruktur die Felder beibehalten, die in den vorherigen Versionen vorhanden waren, und weitere hinzugefügt.

x.509-Zertifikatversionen 1, 2 und 3

In den folgenden Themen werden die verfügbaren Felder ausführlicher erläutert:

Public Key-Infrastruktur-