Função CertCreateContext (wincrypt.h)
A função CertCreateContext cria o contexto especificado com base nos bytes codificados. O contexto criado não inclui nenhuma propriedade estendida.
Sintaxe
const void * CertCreateContext(
[in] DWORD dwContextType,
[in] DWORD dwEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[in] DWORD dwFlags,
[in, optional] PCERT_CREATE_CONTEXT_PARA pCreatePara
);
Parâmetros
[in] dwContextType
Especifica os contextos que podem ser criados. Por exemplo, para criar um contexto de certificado, defina dwContextType como CERT_STORE_CERTIFICATE_CONTEXT.
Os sinalizadores de tipo de contexto definidos atualmente são mostrados na tabela a seguir.
Valor | Significado |
---|---|
|
Contexto do certificado. |
|
Contexto de CRL. |
|
Contexto ctl. |
[in] dwEncodingType
Especifica o tipo de codificação usado. Atualmente, apenas X509_ASN_ENCODING e PKCS_7_ASN_ENCODING estão sendo usados; no entanto, tipos de codificação adicionais podem ser adicionados no futuro. Para qualquer tipo de codificação atual, use:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pbEncoded
Um ponteiro para um buffer que contém o conteúdo de contexto codificado existente a ser copiado.
[in] cbEncoded
O tamanho, em bytes, do buffer pbEncoded .
[in] dwFlags
Os valores de sinalizador a seguir são definidos e podem ser combinados usando uma operação OR bit a bit.
Valor | Significado |
---|---|
|
O contexto criado aponta diretamente para o conteúdo apontado por pbEncoded em vez de uma cópia alocada. |
|
A função cria um contexto com entradas classificadas. Atualmente, esse sinalizador só se aplica a um contexto CTL.
Para CTLs, o membro cCTLEntry da estrutura de CTL_INFO retornada é sempre zero. CertFindSubjectInSortedCTL e CertEnumSubjectInSortedCTL devem ser chamados para localizar ou enumerar as entradas CTL. |
|
Por padrão, quando um contexto CTL é criado, um identificador HCRYTPMSG para sua mensagem SignedData é criado. Esse sinalizador pode ser definido para melhorar o desempenho não criando esse identificador. Esse sinalizador só pode ser usado quando dwContextType é CERT_STORE_CTL_CONTEXT. |
|
Por padrão, quando um contexto CTL é criado, suas entradas são decodificadas. Quando esse sinalizador é definido, as entradas não são decodificadas e o desempenho é aprimorado. Esse sinalizador só pode ser usado quando dwContextType é CERT_STORE_CTL_CONTEXT. |
[in, optional] pCreatePara
Um ponteiro para uma estrutura CERT_CREATE_CONTEXT_PARA .
Se pCreatePara e seu membro pfnFree forem não NULL, o membro pfnFree será usado para liberar a memória especificada pelo membro pvFree . Se o membro pvFree for NULL, o membro pfnFree será usado para liberar o ponteiro pbEncoded .
Se pCreatePara ou seu membro pfnFree for NULL, nenhuma tentativa será feita para liberar pbEncoded.
Retornar valor
Se a função for bem-sucedida, o valor retornado será um ponteiro para o contexto recém-criado. O membro pvFree de pCreatePara deve ser chamado para liberar o contexto criado.
Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.
Se GetLastError retornar ERROR_CANCELLED, isso significa que a função de retorno de chamada PFN_CERT_CREATE_CONTEXT_SORT_FUNC retornou FALSE para interromper a classificação.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |
Confira também
Funções de manutenção do repositório de certificados e certificados