Funzione CertCreateCTLEntryFromCertificateContextProperties (wincrypt.h)

La funzione CertCreateCTLEntryFromCertificateContextProperties crea una voce CTL ( Certificate Trust List ) i cui attributi sono le proprietà del contesto del certificato. SubjectIdentifier nella voce CTL è l'hash SHA1 del certificato.

Le proprietà del certificato vengono aggiunte come attributi. L'OID dell'attributo di proprietà è il PROP_ID decimale preceduto da szOID_CERT_PROP_ID_PREFIX. Ogni valore della proprietà viene copiato come singolo valore dell'attributo.

È possibile includere altri attributi nella voce CTL usando i parametri cOptAttr e rgOptAttr .

Sintassi

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
);

Parametri

[in] pCertContext

Puntatore al CERT_CONTEXT utilizzato per creare il CTL.

[in] cOptAttr

DWORD che specifica il numero di attributi aggiuntivi da aggiungere.

[in] rgOptAttr

Puntatore a qualsiasi matrice di attributi CRYPT_ATTRIBUTE da aggiungere al CTL.

[in] dwFlags

DWORD. Può essere impostato su CTL_ENTRY_FROM_PROP_CHAIN_FLAG per forzare l'inclusione delle proprietà hash della catena come attributi.

[in] pvReserved

Puntatore a void. Riservato per utilizzi futuri.

[out] pCtlEntry

Indirizzo di un puntatore a una struttura CTL_ENTRY . Chiamare questa funzione due volte per recuperare una voce CTL. Impostare questo parametro su NULL nella prima chiamata. Quando la funzione viene restituita, utilizzare il numero di byte recuperati dal parametro pcbCtlEntry per allocare memoria. Chiamare di nuovo la funzione impostando questo parametro sull'indirizzo della memoria allocata.

[in, out] pcbCtlEntry

Puntatore a un DWORD contenente il numero di byte da allocare per la struttura CTL_ENTRY . Chiamare questa funzione due volte per recuperare il numero di byte. Per la prima chiamata, impostare questo parametro sull'indirizzo di un valore DWORD che contiene zero e impostare il parametro pCtlEntry su NULL. Se la prima chiamata ha esito positivo, il valore DWORD conterrà il numero di byte da allocare per la struttura CTL_ENTRY . Allocare la memoria necessaria e chiamare di nuovo la funzione, specificando l'indirizzo della memoria nel parametro pCtlEntry .

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll