Função CertGetIntendedKeyUsage (wincrypt.h)
A função CertGetIntendedKeyUsage adquire os bytes de uso de chave pretendidos de um certificado. O uso da chave pretendida pode estar na extensão szOID_KEY_USAGE ("2.5.29.15") ou szOID_KEY_ATTRIBUTES ("2.5.29.2").
Sintaxe
BOOL CertGetIntendedKeyUsage(
[in] DWORD dwCertEncodingType,
[in] PCERT_INFO pCertInfo,
[out] BYTE *pbKeyUsage,
[in] DWORD cbKeyUsage
);
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 Tipos de codificação definidos no momento são:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pCertInfo
Um ponteiro para CERT_INFO estrutura do certificado especificado.
[out] pbKeyUsage
Um ponteiro para um buffer para receber o uso de chave pretendido. A lista a seguir mostra valores definidos no momento. Eles podem ser combinados usando operações OR bit a bit.
- CERT_DATA_ENCIPHERMENT_KEY_USAGE
- CERT_DIGITAL_SIGNATURE_KEY_USAGE
- CERT_KEY_AGREEMENT_KEY_USAGE
- CERT_KEY_CERT_SIGN_KEY_USAGE
- CERT_KEY_ENCIPHERMENT_KEY_USAGE
- CERT_NON_REPUDIATION_KEY_USAGE
- CERT_OFFLINE_CRL_SIGN_KEY_USAGE
[in] cbKeyUsage
O tamanho, em bytes, do buffer apontado por pbKeyUsage. Atualmente, o uso de chave pretendido ocupa 1 ou 2 bytes de dados.
Retornar valor
Se o certificado não tiver nenhum bytes de uso de chave pretendidos, FALSE será retornado e pbKeyUsage será zerado. Caso contrário, TRUE será retornado e até o número cbKeyUsage de bytes será copiado para pbKeyUsage. Todos os bytes restantes não copiados são zero.
GetLastError retornará zero se nenhuma das extensões necessárias for encontrada.
Se a função falhar, GetLastError poderá retornar um erro de codificação/decodificação de ASN.1 (Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Codificação/Decodificação de Valores Retornados do 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 |