Função CertFindChainInStore (wincrypt.h)
A função CertFindChainInStore
Sintaxe
PCCERT_CHAIN_CONTEXT CertFindChainInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCERT_CHAIN_CONTEXT pPrevChainContext
);
Parâmetros
[in] hCertStore
O identificador do repositório a ser pesquisado em busca de um certificado no qual uma cadeia é criada. Esse identificador é passado como um repositório adicional para a função CertGetCertificateChain à medida que a cadeia é criada.
[in] dwCertEncodingType
O tipo de codificação de certificado usado para codificar o repositório. O tipo de codificação de mensagem
Esse parâmetro pode ser o seguinte tipo de codificação de certificado definido no momento.
Valor | Significado |
---|---|
|
Especifica a codificação de certificado X.509. |
[in] dwFindFlags
Contém opções adicionais para a pesquisa. Os valores possíveis para esse parâmetro dependem do valor do parâmetro dwFindType.
Esse parâmetro pode conter zero ou uma combinação de um ou mais dos seguintes valores quando dwFindType contém CERT_CHAIN_FIND_BY_ISSUER.
[in] dwFindType
Determina quais critérios usar para localizar um certificado no repositório.
Esse parâmetro pode ser o seguinte valor definido no momento.
CERT_CHAIN_FIND_BY_ISSUER
Localiza o certificado com base no nome do emissor. O parâmetro pvFindPara é um ponteiro para uma estrutura CERT_CHAIN_FIND_BY_ISSUER_PARA que contém membros que modificam a pesquisa.
A cadeia de certificados é criada para um certificado com uma chave privada disponível. Por padrão, somente os emissores na primeira cadeia simples são comparados em uma correspondência de nome do emissor. Se esse sinalizador estiver definido, todas as cadeias serão verificadas quanto a um certificado emissor que corresponda a um de um conjunto de nomes de emissor.
Essa função comparará o nome
Essa função não executa nenhuma verificação de revogação.
Se pPrevChainContext não for NULL, essa função retornará uma cadeia para um certificado diferente sempre que a função for chamada. Se houver apenas um certificado adequado, mas houver duas autoridades de certificação emissoras correspondentes, uma das quais é revogada, é possível que essa função retorne a cadeia revogada. Se o aplicativo verificar a revogação em si por meio de chamadas para a função CertVerifyRevocation e achar a cadeia inadequada, uma chamada adicional à função CertFindChainInStore não retornará uma cadeia que inclua o mesmo certificado da autoridade de certificação válida. Em vez disso, retornará uma cadeia completamente diferente com um certificado diferente ou NULL, se nenhuma cadeia desse tipo puder ser encontrada.
[in] pvFindPara
Um ponteiro que contém critérios de pesquisa adicionais. O tipo e o formato dos dados que esse parâmetro aponta dependem do valor do parâmetro dwFindType.
[in] pPrevChainContext
Um ponteiro para uma estrutura de CERT_CHAIN_CONTEXT retornada de uma chamada anterior para essa função. A pesquisa é iniciada a partir desse certificado. Para a primeira chamada para essa função, esse parâmetro deve ser NULL. Nas chamadas subsequentes, é o ponteiro retornado pela chamada anterior para a função. Se esse parâmetro não for NULL, essa função liberará essa estrutura.
Valor de retorno
Se o primeiro ou próximo contexto de cadeia não for criado, NULL será retornado. Caso contrário, um ponteiro para uma estrutura de CERT_CHAIN_CONTEXT somente leitura será retornado. A estrutura
Observações
O parâmetro pPrevChainContext
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | wincrypt.h |
biblioteca | Crypt32.lib |
de DLL |
Crypt32.dll |