Função CertIsRDNAttrsInCertificateName (wincrypt.h)
A função CertIsRDNAttrsInCertificateName compara os atributos no nome do certificado com o CERT_RDN especificado para determinar se todos os atributos estão incluídos lá. A comparação itera pela CERT_RDN e procura uma correspondência de atributo em qualquer um dos CERT_RDNs do nome do certificado.
Sintaxe
BOOL CertIsRDNAttrsInCertificateName(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFlags,
[in] PCERT_NAME_BLOB pCertName,
[in] PCERT_RDN pRDN
);
Parâmetros
[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
Os tipos de codificação definidos no momento são:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] dwFlags
CERT_UNICODE_IS_RDN_ATTRS_FLAG deve ser definido se o pRDN foi inicializado com cadeias de caracteres Unicode como em CryptEncodeObject com lpszStructType definido como X509_UNICODE_NAME.
CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG está definido para fazer uma correspondência que não diferencia maiúsculas de minúsculas. Caso contrário, uma correspondência exata, que diferencia maiúsculas de minúsculas, será feita.
[in] pCertName
Um ponteiro para um CRYPT_INTEGER_BLOB que contém o assunto codificado ou o nome do emissor.
[in] pRDN
Matriz de estruturas CERT_RDN que contêm os atributos a serem encontrados no nome. O membro CERT_RDN_ATTR da estrutura CERT_RDN se comporta de acordo com as regras a seguir.
- Se pszObjId for NULL, o OID ( identificador de objeto de atributo) será ignorado.
- Se dwValueType for CERT_RDN_ANY_TYPE, o tipo de valor será ignorado.
- Se o membro pbData de Value for NULL, qualquer valor poderá ser uma correspondência.
Valor retornado
Se a função for bem-sucedida e todos os valores rdn no CERT_RDN especificado estiverem no nome do certificado, o valor retornado será diferente de zero (TRUE).
Se a função falhar ou se houver valores RDN no CERT_RDN especificado que não estejam no nome do certificado, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
A tabela a seguir lista alguns códigos de erro possíveis.
Código de retorno | Descrição |
---|---|
|
Nem todos os atributos foram encontrados e correspondidos. |
|
Tipo de codificação de certificado inválido. Atualmente, há suporte apenas para X509_ASN_ENCODING. |
Se a função falhar, GetLastError poderá 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.
Comentários
Atualmente, há suporte apenas para uma correspondência exata que diferencia maiúsculas de minúsculas.
Requisitos
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] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |