Função CertAddEncodedCertificateToStore (wincrypt.h)
A função CertAddEncodedCertificateToStore cria um contexto de certificado de um certificado codificado e o adiciona ao repositório de certificados. O contexto criado não inclui nenhuma propriedade estendida.
A função CertAddEncodedCertificateToStore também faz uma cópia do certificado codificado antes de adicionar o certificado ao repositório.
Sintaxe
BOOL CertAddEncodedCertificateToStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbCertEncoded,
[in] DWORD cbCertEncoded,
[in] DWORD dwAddDisposition,
[out, optional] PCCERT_CONTEXT *ppCertContext
);
Parâmetros
[in] hCertStore
Um identificador para o repositório de certificados.
[in] dwCertEncodingType
Especifica o tipo de codificação usado. É sempre aceitável especificar os tipos de codificação de certificado e mensagem combinando-os com uma operação OR bit a bit, conforme mostrado no exemplo a seguir:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING Tipos de codificação definidos atualmente são:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCertEncoded
Um ponteiro para um buffer que contém o certificado codificado que deve ser adicionado ao repositório de certificados.
[in] cbCertEncoded
O tamanho, em bytes, do buffer pbCertEncoded .
[in] dwAddDisposition
Especifica a ação a ser tomada se houver um certificado correspondente ou um link para um certificado correspondente no repositório. Os valores de disposição definidos no momento e seus usos são os seguintes.
Valor | Significado |
---|---|
|
A função não faz marcar para um certificado correspondente existente ou um link para um certificado correspondente. Um novo certificado sempre é adicionado ao repositório. Isso pode levar a duplicatas em um repositório. |
|
Se houver um certificado correspondente ou um link para um certificado correspondente no repositório, a operação falhará. GetLastError retorna o código CRYPT_E_EXISTS. |
|
Se existir um certificado ou link correspondente para um certificado correspondente no repositório, o certificado ou link existente será excluído e um novo certificado será criado e adicionado ao repositório. Se um certificado ou link correspondente a um certificado correspondente não existir, um novo certificado será criado e adicionado ao repositório. |
|
Se existir um certificado correspondente no repositório, esse contexto existente será excluído antes de criar e adicionar o novo contexto. O novo contexto herda propriedades do certificado existente. |
|
Se existir um certificado correspondente ou um link para um certificado correspondente, esse certificado ou link existente será usado e as propriedades do novo certificado serão adicionadas. A função não falha, mas não adiciona um novo contexto. Se ppCertContext não for NULL, o contexto existente será duplicado.
Se um certificado ou link correspondente a um certificado correspondente não existir, um novo certificado será adicionado. |
[out, optional] ppCertContext
Um ponteiro para um ponteiro para o contexto de certificado decodificado. Esse é um parâmetro opcional que pode ser NULL, indicando que o aplicativo de chamada não requer uma cópia do certificado novo ou existente. Quando uma cópia é feita, seu contexto deve ser liberado usando CertFreeCertificateContext.
Retornar valor
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis seguem.
Código de retorno | Descrição |
---|---|
|
Esse código será retornado se CERT_STORE_ADD_NEW estiver definido e o certificado já existir no repositório ou se CERT_STORE_ADD_NEWER estiver definido e houver um certificado no repositório com uma data NotBefore maior ou igual à data NotBefore no certificado a ser adicionado. |
|
Um valor de disposição que não é válido foi especificado no parâmetro dwAddDisposition ou um tipo de codificação de certificado que não é válido foi especificado. Atualmente, há suporte apenas para o tipo X509_ASN_ENCODING. |
Se a função falhar, GetLastError retornará um erro de codificação/decodificação ASN.1 ( Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Valores retornados de codificação/decodificação asn.1.
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 |