CERT_CHAIN_ENGINE_CONFIG-Struktur (wincrypt.h)
Die CERT_CHAIN_ENGINE_CONFIG-Struktur legt Parameter für die Erstellung einer nicht standardmäßigen Zertifikatketten-Engine fest. Die verwendete Engine bestimmt, wie Zertifikatketten erstellt werden.
Syntax
typedef struct _CERT_CHAIN_ENGINE_CONFIG {
DWORD cbSize;
HCERTSTORE hRestrictedRoot;
HCERTSTORE hRestrictedTrust;
HCERTSTORE hRestrictedOther;
DWORD cAdditionalStore;
HCERTSTORE *rghAdditionalStore;
DWORD dwFlags;
DWORD dwUrlRetrievalTimeout;
DWORD MaximumCachedCertificates;
DWORD CycleDetectionModulus;
HCERTSTORE hExclusiveRoot;
HCERTSTORE hExclusiveTrustedPeople;
DWORD dwExclusiveFlags;
} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;
Member
cbSize
Größe dieser Struktur in Bytes.
hRestrictedRoot
Dieser Konfigurationsparameter kann verwendet werden, um den Stammspeicher einzuschränken. Falls verwendet, kann es das Handle eines beliebigen HCERTSTORE sein, der nur eine ordnungsgemäße Teilmenge der Zertifikate im Stammspeicher enthält.
hRestrictedTrust
Speicherhandle. Falls verwendet, schränkt die durchsuchten Speicher auf die Suche nach CTLs ein.
hRestrictedOther
Speicherhandle. Falls verwendet, schränkt die nach Zertifikaten und Zertifikatsperrlisten durchsuchten Speicher ein.
cAdditionalStore
Anzahl zusätzlicher Speicher, die nach Zertifikaten und Zertifikatsperrlisten gesucht werden sollen, die zum Erstellen von Ketten benötigt werden.
rghAdditionalStore
Ein Zeiger auf ein Array von Speicherhandles für alle zusätzlichen Speicher, die im Erstellen von Ketten durchsucht werden sollen.
dwFlags
Die folgenden Flags sind definiert.
dwUrlRetrievalTimeout
Anzahl der Millisekunden vor einem Timeout für netzwerkbasierte URL-Objektabrufe. Kann auf 0 festgelegt werden, um den Standardgrenzwert zu verwenden.
MaximumCachedCertificates
Grenzwert für die Anzahl von Zertifikaten, die zwischengespeichert werden können, während eine Kette erstellt wird. Kann auf 0 festgelegt werden, um den Standardgrenzwert zu verwenden.
CycleDetectionModulus
Anzahl der Zertifikate, die der Kette hinzugefügt werden, bevor eine Überprüfung durchgeführt wird, um festzustellen, ob ein Zyklus von Zertifikaten in der Kette vorhanden ist. Ein Zyklus kann so definiert werden, dass dasselbe Zertifikat an zwei verschiedenen Stellen in einer Kette vorhanden ist.
Je niedriger die Zahl, desto häufiger werden Überprüfungen durchgeführt. Die zusätzliche Überprüfung auf Zyklen von Zertifikaten wird den Prozess erheblich verlangsamen. Dieser Parameter kann auf null festgelegt werden, um den Standardgrenzwert zu verwenden.
hExclusiveRoot
Handle für einen Zertifikatspeicher, der exklusive Vertrauensanker enthält. Wenn entweder das hExclusiveRoot- oder hExclusiveTrustedPeople-Element auf einen gültigen Speicher verweist, wird der exklusive Vertrauensmodus für die Kettenerstellung verwendet.
Windows 7 und Windows Server 2008 R2: Die Unterstützung für dieses Mitglied beginnt.
hExclusiveTrustedPeople
Handle für einen Zertifikatspeicher, der anwendungsspezifische Peer-vertrauenswürdige Zertifikate enthält. Wenn entweder das hExclusiveRoot- oder hExclusiveTrustedPeople-Element auf einen gültigen Speicher verweist, wird der exklusive Vertrauensmodus für die Kettenerstellung verwendet.
Windows 7 und Windows Server 2008 R2: Die Unterstützung für dieses Mitglied beginnt.
dwExclusiveFlags
Das folgende Flag kann festgelegt werden. Das Flag gilt nur, wenn hExclusiveRoot oder hExclusiveTrustedPeople oder beide nicht NULL sind.
Windows 8 und Windows Server 2012: Die Unterstützung für dieses Mitglied beginnt.
Wert | Bedeutung |
---|---|
|
Gibt an, dass ein nicht selbstsigniertes Zwischenzertifizierungsstellenzertifikat im hExclusiveRoot-Speicher während der Zertifikatüberprüfung als Vertrauensanker behandelt werden soll. Wenn ein Zertifikat bis zu dieser Zertifizierungsstelle verkettet ist, wird die Verkettung beendet, und das Zertifikat gilt als vertrauenswürdig. Für das Zertifizierungsstellenzertifikat wird keine Signaturüberprüfung oder Sperrüberprüfung durchgeführt.
Wenn dieses Flag nicht festgelegt ist, werden standardmäßig nur selbstsignierte Zertifikate im hExclusiveRoot-Speicher als Vertrauensanker behandelt. Siehe auch den wert CERT_TRUST_IS_CA_TRUSTED in der CERT_TRUST_STATUS-Struktur . |
Hinweise
Die Chain Building-Engine verwendet vier Zertifikatspeicher in Gebäudeketten. Dies sind hRoot, hWorld, hTrust und hOther. Die Handles dieser Speicher werden mithilfe von Informationen in dieser Struktur erstellt, wenn eine Ketten-Engine erstellt wird.
hRoot ist das Speicherhandle von hRestrictedRoot oder, wenn hRestrictedRootNULL ist, das Handle für den Systemspeicher "Root".
hWorld ist ein Sammlungszertifikatspeicher, einschließlich gleichgeordneter Speicher hRoot, "CA", "My", "Trust" und alle zusätzlichen Speicher, auf deren Handles im Array von rghAdditionalStore verwiesen wird.
hTrust ist das Speicherhandle von hRestrictedTrust oder, wenn hRestrictedTrustNULL ist, hWorld.
hOther ist hRestrictedOther plus hRoot oder, wenn hRestrictedTrust ungleich NULL ist, der hWorld-Sammlungsspeicher plus das Speicherhandle von hRestrictedTrust.
Im exklusiven Vertrauensmodus können Anwendungen Vertrauensanker und Peer-vertrauenswürdige Zertifikate für die Zertifikatkettenvalidierung angeben. Im exklusiven Vertrauensmodus werden der Stammspeicher und der Speicher für vertrauenswürdige Personen auf dem System ignoriert, und stattdessen werden die Anker und Zertifikate verwendet, auf die die Mitglieder hExclusiveRoot und hExclusiveTrustedPeople verweisen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | wincrypt.h |