Freigeben über


Zertifikatketten

Um Zertifikate für die Sicherheit zu verwenden, muss die Echtheit und Gültigkeit jedes empfangenen Zertifikats überprüft werden. Diese Überprüfung hängt vom Konzept des Vertrauens und der Stellvertretung des Vertrauens ab; weitere Informationen finden Sie unter Hierarchie der Vertrauensstellung.

Jedes Zertifikat enthält ein Betrefffeld, das die Person oder Gruppe identifiziert, für die das Zertifikat ausgestellt wurde. Jedes Zertifikat enthält auch ein Ausstellerfeld, das die Zertifizierungsstelle (CA) identifiziert, die die Identität des Antragstellers zertifizieren kann.

Eine Zertifikatkette besteht aus allen Zertifikaten, die erforderlich sind, um den vom Endzertifikat identifizierten Betreff zu zertifizieren. In der Praxis umfasst dies das Endzertifikat, die Zertifikate von Zwischenzertifizierungsstellen und das Zertifikat einer Stammzertifizierungsstelle, die von allen Parteien in der Kette vertrauenswürdig ist. Jede Zwischenzertifizierungsstelle in der Kette enthält ein Zertifikat, das von der Zertifizierungsstelle eine Ebene darüber in der Vertrauenshierarchie ausgestellt wurde. Die Stammzertifizierungsstelle gibt ein Zertifikat für sich selbst aus.

Der Prozess der Überprüfung der Echtheit und Gültigkeit eines neu empfangenen Zertifikats umfasst die Überprüfung aller Zertifikate in der Kette der Zertifikate von der ursprünglichen, universell vertrauenswürdigen Zertifizierungsstelle über alle zwischengeschalteten Zertifizierungsstellen bis hin zu dem Zertifikat, das gerade empfangen wurde, das als Endzertifikat bezeichnet wird. Ein neues Zertifikat kann nur vertrauenswürdig sein, wenn jedes Zertifikat in der Kette dieses Zertifikats ordnungsgemäß ausgestellt und gültig ist.

Das Nachverfolgen aller Zertifikate, die ein neues Endzertifikat sichern, kann umständlich werden. Daher stellt CryptoAPI 2.0-Technologie Funktionen bereit, die die Erstellung der Kette von Zertifikaten automatisieren, die ein bestimmtes Endzertifikat sichern. Diese Funktionen überprüfen und melden auch die Gültigkeit jedes Zertifikats in einer Kette.

Die Chain-Building- und Check-Funktionen von CryptoAPI 2.0 verwenden ein Kettenmodul, um Ketten von Zertifikaten zu erstellen und zu überprüfen. Ein Kettenmodul definiert einen Speichernamespace und eine Cachepartitionierung für die Zertifikatketteninfrastruktur. CryptoAPI 2.0 stellt ein Standardkettenmodul für jeden Anwendungsprozess bereit, der nur Standardsystemspeicher (z. B. MY, Root, CA und Trust) für das Erstellen und Zwischenspeichern von Ketten verwendet. Eine Anwendung kann einen eigenen Speichernamespace definieren oder über einen eigenen partitionierten Cache verfügen, indem ein eigenes Kettenmodul erstellt wird. Um ein optimales Zwischenspeicherungsverhalten zu erzielen, empfehlen wir, ein einzelnes Kettenmodul beim Start der Anwendung zu erstellen und dieses Kettenmodul während der gesamten Lebensdauer der Anwendung zu verwenden.

Eine Liste der Funktionen finden Sie unter Zertifikatkettenüberprüfungsfunktionen. Ein Programm, das Zertifikatketten erstellt und Zertifikate überprüft, finden Sie unter Beispiel-C-Programm: Erstellen einer Zertifikatkette.