Compartilhar via


estrutura CERT_USAGE_MATCH (wincrypt.h)

A estrutura CERT_USAGE_MATCH fornece critérios para identificar certificados do emissor a serem usados para criar uma cadeia de certificados.

Sintaxe

typedef struct _CERT_USAGE_MATCH {
  DWORD             dwType;
  CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;

Membros

dwType

Determina o tipo de correspondência do emissor a ser feita. Na lógica AND , o certificado deve atender a todos os critérios. Na lógica OR , o certificado deve atender a pelo menos um dos critérios. Os códigos a seguir são definidos para determinar a lógica usada na correspondência. Para obter mais informações sobre como isso foi aplicado, consulte Comentários.

Valor Significado
USAGE_MATCH_TYPE_AND
Lógica AND
USAGE_MATCH_TYPE_OR
Lógica OR
 

A lógica de correspondência de uso padrão é USAGE_MATCH_TYPE_AND.

Usage

CERT_ENHKEY_USAGE estrutura (CERT_ENHKEY_USAGE é um nome typedef alternativo para a estrutura CTL_USAGE ) que inclui uma matriz de OIDs ( identificadores de objeto de certificado) que um certificado deve corresponder para ser válido.

Comentários

Se o membro dwType estiver definido como USAGE_MATCH_TYPE_OR, o membro Usage não poderá ficar vazio.

Se o membro dwType estiver definido como USAGE_MATCH_TYPE_AND, um membro usage vazio significa que qualquer uso aninhado na cadeia funcionará.

A seguir, descreve o comportamento dado duas extensões de EKU (uso avançado de chave) EKU A e EKU B.

Lógica AND

Se o chamador especificar A EKU A EKU B, o certificado de destino será válido se o EKU A e o EKU B tiverem suporte de cada certificado no caminho (seja por uma configuração de EKU explícita ou por meio de uma extensão de EKU ausente em certificados de AC).)

Lógica OR

Se o chamador especificar EKU A OU EKU B, o certificado de destino será válido se houver suporte para EKU A ou EKU B no caminho.

Além do caso simples em que os certificados no caminho contêm EKU A ou EKU B, a cláusula OR tem a avaliação especial a seguir.

Dado o seguinte caminho, o teste OR é considerado válido:

Embora a interseção das EKUs na cadeia seja um conjunto vazio, o uso do certificado EE é válido para o EKU A porque a solicitação à API de criptografia especifica que o certificado é válido se cada certificado do caminho der suporte a EKU A OU EKU B.

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