Método IX509ExtensionKeyUsage::InitializeEncode (certenroll.h)

O método InitializeEncode inicializa a extensão usando a enumeração X509KeyUsageFlags . Esse método está habilitado para a Web.

Sintaxe

HRESULT InitializeEncode(
  [in] X509KeyUsageFlags UsageFlags
);

Parâmetros

[in] UsageFlags

Um valor de enumeração X509KeyUsageFlags . Essa pode ser uma combinação bit a bit ou de qualquer um dos valores a seguir.

Valor Significado
XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE
A chave é usada com um DSA ( Algoritmo de Assinatura Digital ) para dar suporte a serviços que não sejam de não conformidade, assinatura de certificado ou assinatura de lista de revogação. Os DSAs geralmente são usados para autenticação.
XCN_CERT_NON_REPUDIATION_KEY_USAGE
A chave é usada para verificar uma assinatura digital como parte de um serviço de não consulta que protege contra falsa negação de ação por uma entidade de assinatura.
XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE
A chave é usada para transporte de chave. Ou seja, a chave é usada para gerenciar uma chave passada de seu ponto de origem para seu ponto de uso real.
XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE
A chave é usada para criptografar dados do usuário que não sejam chaves criptográficas.
XCN_CERT_KEY_AGREEMENT_KEY_USAGE
A chave é usada para o contrato de chave. O contrato-chave ou o protocolo de troca de chaves permite que duas ou mais partes negociem um valor chave sem transferir a chave e sem estabelecer anteriormente um segredo compartilhado.
XCN_CERT_KEY_CERT_SIGN_KEY_USAGE
A chave é usada para verificar uma assinatura de certificado. Esse valor só pode ser usado para certificados emitidos pelas autoridades de certificação.
XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE
A chave é usada para verificar uma assinatura de CRL ( lista de certificados revogados ) offline.
XCN_CERT_CRL_SIGN_KEY_USAGE
A chave é usada para verificar uma assinatura de CRL.
XCN_CERT_ENCIPHER_ONLY_KEY_USAGE
A chave é usada para criptografar dados ao executar o contrato de chave. O valor XCN_CERT_KEY_AGREEMENT_KEY_USAGE também deve ser especificado.
XCN_CERT_DECIPHER_ONLY_KEY_USAGE
A chave é usada para descriptografar dados durante a execução do contrato de chave. O valor XCN_CERT_KEY_AGREEMENT_KEY_USAGE também deve ser especificado.

Retornar valor

Se a função for bem-sucedida, a função retornará S_OK.

Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Código de retorno Descrição
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Comentários

Você deve chamar InitializeEncode ou InitializeDecode antes de usar um objeto IX509ExtensionKeyUsage . Os dois métodos se complementam. O método InitializeEncode permite que você construa um objeto de extensão ASN.1 (Abstract Syntax Notation One) codificado em Distinguished Encoding Rules e o método InitializeDecode permite inicializar os dados brutos de um objeto codificado.

Você pode recuperar as seguintes propriedades para esta extensão:

  • A propriedade Critical identifica se a extensão é crítica. Você também pode especificar essa propriedade.
  • A propriedade ObjectId recupera o OID ( identificador de objeto de extensão).
  • A propriedade KeyUsage recupera as restrições que identificam os usos pretendidos da chave pública (os dados brutos da extensão).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certenroll.h
DLL CertEnroll.dll

Confira também

IX509ExtensionKeyUsage