estrutura CERT_CHAIN_PARA (wincrypt.h)
A estrutura CERT_CHAIN_PARA estabelece os critérios de pesquisa e correspondência a serem usados na criação de uma cadeia de certificados.
Sintaxe
typedef struct _CERT_CHAIN_PARA {
DWORD cbSize;
CERT_USAGE_MATCH RequestedUsage;
CERT_USAGE_MATCH RequestedIssuancePolicy;
DWORD dwUrlRetrievalTimeout;
BOOL fCheckRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
LPFILETIME pftCacheResync;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
DWORD dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
Membros
cbSize
O tamanho, em bytes, dessa estrutura.
RequestedUsage
Estrutura que indica o tipo de correspondência necessária para localizar certificados do emissor para criar uma cadeia de certificados. A estrutura apontada indica se a lógica AND ou OR deve ser usada no processo de correspondência. A estrutura também inclui uma matriz de OIDs a serem correspondidas.
RequestedIssuancePolicy
Estrutura opcional que indica o tipo de correspondência de restrição de política de emissão que se aplica ao criar uma cadeia de certificados. A estrutura apontada indica se a lógica AND ou OR deve ser usada no processo de correspondência. A estrutura também inclui uma matriz de OIDs a serem correspondidas.
dwUrlRetrievalTimeout
Tempo opcional, em milissegundos, antes da verificação de revogação atingir o tempo limite. Esse membro é opcional.
fCheckRevocationFreshnessTime
Membro opcional. Quando esse sinalizador for TRUE, será feita uma tentativa de recuperar uma nova CRL se essa atualização for maior ou igual à hora atual do sistema menos o valor dwRevocationFreshnessTime . Se esse sinalizador não estiver definido, a próxima hora de atualização da CRL será usada.
dwRevocationFreshnessTime
A hora atual, em segundos, menos o tempo de atualização da CRL de todos os elementos verificados.
pftCacheResync
Membro opcional. Quando definido como um valor não NULL , as informações armazenadas em cache antes da hora especificada são consideradas não válidas e a ressincronização de cache é executada.
Windows Vista: O suporte para este membro começa.
pStrongSignPara
Opcional. Especifique um ponteiro para uma estrutura CERT_STRONG_SIGN_PARA para habilitar a verificação de assinatura forte.
Windows 8 e Windows Server 2012: o suporte para este membro começa.
dwStrongSignFlags
Sinalizadores opcionais que modificam o comportamento de recuperação de cadeia. Isso pode ser zero ou o valor a seguir.
Windows 8 e Windows Server 2012: o suporte para essa propriedade começa.
Comentários
Os comentários a seguir se aplicam ao verificar se há assinaturas fortes.
- Defina o membro pStrongSignPara como marcar para assinaturas fortes ao usar a função CertGetCertificateChain ou CertSelectCertificateChains.
- Se um certificado sem uma assinatura forte for encontrado na cadeia, os erros CERT_TRUST_HAS_WEAK_SIGNATURE e CERT_TRUST_IS_NOT_SIGNATURE_VALID serão definidos no campo dwErrorStatus da estrutura CERT_TRUST_STATUS . O parâmetro ppChainContext da função CertGetCertificateChain e o parâmetro pprgpSelection da função CertSelectCertificateChains apontam para uma estrutura CERT_CHAIN_CONTEXT que, por sua vez, aponta para a estrutura CERT_TRUST_STATUS .
- Se a cadeia for fortemente assinada, a chave pública no certificado final será verificada para determinar se ela atende aos requisitos mínimos de comprimento de chave pública para uma assinatura forte. Se a condição não for atendida, os erros CERT_TRUST_HAS_WEAK_SIGNATURE e CERT_TRUST_IS_NOT_SIGNATURE_VALID serão definidos no campo dwErrorStatus da estrutura CERT_TRUST_STATUS . Defina o valor CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG no membro dwStrongSignFlags para desabilitar esse marcar.
- Se os sinalizadores CERT_STRONG_SIGN_ENABLE_CRL_CHECK ou CERT_STRONG_SIGN_ENABLE_OCSP_CHECK forem definidos na estrutura CERT_STRONG_SIGN_SERIALIZED_INFO referenciada pela estrutura CERT_STRONG_SIGN_PARA apontada pelo membro pStrongSignPara e uma resposta CRL ou OCSP for encontrada sem uma assinatura forte, a resposta CRL ou OCSP será tratada como offline. Ou seja, os erros CERT_TRUST_IS_OFFLINE_REVOCATION e CERT_TRUST_REVOCATION_STATUS_UNKNOWN são definidos no campo dwErrorStatus da estrutura CERT_TRUST_STATUS . Além disso, o membro dwRevocationResult da estrutura CERT_REVOCATION_INFO é definido como NTE_BAD_ALGID.
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] |
Cabeçalho | wincrypt.h |