CertCreateCTLEntryFromCertificateContextProperties-Funktion (wincrypt.h)
Die CertCreateCTLEntryFromCertificateContextProperties-Funktion erstellt einen Zertifikatvertrauenslisteneintrag (Certificate Trust List , CTL), dessen Attribute die Eigenschaften des Zertifikatkontexts sind. Der SubjectIdentifier im CTL-Eintrag ist der SHA1-Hash des Zertifikats.
Die Zertifikateigenschaften werden als Attribute hinzugefügt. Das Eigenschaftsattribut OID ist das dezimale PROP_ID, dem szOID_CERT_PROP_ID_PREFIX vorangestellt ist. Jeder Eigenschaftswert wird als einzelner Attributwert kopiert.
Zusätzliche Attribute können mithilfe der Parameter cOptAttr und rgOptAttr in den CTL-Eintrag aufgenommen werden.
Syntax
BOOL CertCreateCTLEntryFromCertificateContextProperties(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD cOptAttr,
[in] PCRYPT_ATTRIBUTE rgOptAttr,
[in] DWORD dwFlags,
[in] void *pvReserved,
[out] PCTL_ENTRY pCtlEntry,
[in, out] DWORD *pcbCtlEntry
);
Parameter
[in] pCertContext
Ein Zeiger auf die CERT_CONTEXT , die zum Erstellen der CTL verwendet wird.
[in] cOptAttr
Ein DWORD , das die Anzahl der zusätzlichen Attribute angibt, die hinzugefügt werden sollen.
[in] rgOptAttr
Ein Zeiger auf ein beliebiges Array von CRYPT_ATTRIBUTE Attributen, die der CTL hinzugefügt werden sollen.
[in] dwFlags
Ein DWORD. Kann auf CTL_ENTRY_FROM_PROP_CHAIN_FLAG festgelegt werden, um die Einbindung der Hasheigenschaften der Kette als Attribute zu erzwingen.
[in] pvReserved
Ein Zeiger auf eine VOID. Für die zukünftige Verwendung reserviert.
[out] pCtlEntry
Adresse eines Zeigers auf eine CTL_ENTRY-Struktur . Rufen Sie diese Funktion zweimal auf, um einen CTL-Eintrag abzurufen. Legen Sie diesen Parameter beim ersten Aufruf auf NULL fest. Wenn die Funktion zurückgibt, verwenden Sie die Anzahl der Bytes, die aus dem parameter pcbCtlEntry abgerufen wurden, um Arbeitsspeicher zuzuweisen. Rufen Sie die Funktion erneut auf, und legen Sie diesen Parameter auf die Adresse des zugeordneten Speichers fest.
[in, out] pcbCtlEntry
Zeiger auf ein DWORD , das die Anzahl der Bytes enthält, die für die CTL_ENTRY-Struktur zugeordnet werden müssen. Rufen Sie diese Funktion zweimal auf, um die Anzahl der Bytes abzurufen. Legen Sie für den ersten Aufruf diesen Parameter auf die Adresse eines DWORD-Werts fest, der null enthält, und legen Sie den Parameter pCtlEntry auf NULL fest. Wenn der erste Aufruf erfolgreich ist, enthält der DWORD-Wert die Anzahl von Bytes, die Sie für die CTL_ENTRY-Struktur zuordnen müssen. Ordnen Sie den erforderlichen Arbeitsspeicher zu, und rufen Sie die Funktion erneut auf, und geben Sie die Adresse des Arbeitsspeichers im pCtlEntry-Parameter an.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |