Função CertCreateCTLEntryFromCertificateContextProperties (wincrypt.h)

A função CertCreateCTLEntryFromCertificateContextProperties cria uma entrada de CTL ( lista de certificados confiáveis ) cujos atributos são as propriedades do contexto do certificado. O SubjectIdentifier na entrada CTL é o hash SHA1 do certificado.

As propriedades do certificado são adicionadas como atributos. O atributo de propriedade OID é o PROP_ID decimal precedido por szOID_CERT_PROP_ID_PREFIX. Cada valor de propriedade é copiado como um único valor de atributo.

Atributos adicionais podem ser incluídos na entrada CTL usando os parâmetros cOptAttr e rgOptAttr .

Sintaxe

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

Parâmetros

[in] pCertContext

Um ponteiro para o CERT_CONTEXT usado para criar a CTL.

[in] cOptAttr

Um DWORD que especifica o número de atributos adicionais a serem adicionados.

[in] rgOptAttr

Um ponteiro para qualquer matriz de atributos CRYPT_ATTRIBUTE a serem adicionados à CTL.

[in] dwFlags

Um DWORD. Pode ser definido como CTL_ENTRY_FROM_PROP_CHAIN_FLAG para forçar a inclusão das propriedades de hash de construção de cadeia como atributos.

[in] pvReserved

Um ponteiro para um VOID. Reservado para uso futuro.

[out] pCtlEntry

Endereço de um ponteiro para uma estrutura CTL_ENTRY . Chame essa função duas vezes para recuperar uma entrada CTL. Defina esse parâmetro como NULL na primeira chamada. Quando a função retornar, use o número de bytes recuperados do parâmetro pcbCtlEntry para alocar memória. Chame a função novamente, definindo esse parâmetro como o endereço da memória alocada.

[in, out] pcbCtlEntry

Ponteiro para um DWORD que contém o número de bytes que devem ser alocados para a estrutura CTL_ENTRY . Chame essa função duas vezes para recuperar o número de bytes. Para a primeira chamada, defina esse parâmetro como o endereço de um valor DWORD que contém zero e defina o parâmetro pCtlEntry como NULL. Se a primeira chamada for bem-sucedida, o valor DWORD conterá o número de bytes que você deve alocar para a estrutura CTL_ENTRY . Aloque a memória necessária e chame a função novamente, fornecendo o endereço da memória no parâmetro pCtlEntry .

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).

Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Crypt32.lib
DLL Crypt32.dll