Compartilhar via


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

O método InitializeEncode inicializa a extensão de uma matriz de bytes que contém o identificador de chave. A matriz de bytes é representada por uma cadeia de caracteres codificada por Unicode.

Sintaxe

HRESULT InitializeEncode(
  [in] EncodingType Encoding,
  [in] BSTR         strKeyIdentifier
);

Parâmetros

[in] Encoding

Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode aplicada ao parâmetro strKeyIdentifier .

[in] strKeyIdentifier

Uma variável BSTR que contém o identificador de chave.

Valor de retorno

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 valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT Comuns.

Código/valor de retorno Description
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Observações

Normalmente, o valor de entrada deve ser um hash SHA-1 da chave pública contida no certificado de assinatura da autoridade de certificação. O método associa o valor ao identificador de objeto XCN_OID_SUBJECT_KEY_IDENTIFIER (2.5.29.14) (OID) e o codifica usando DER (Distinguished Encoding Rules ).

Você deve chamar InitializeEncode ou InitializeDecode antes de usar um objeto IX509ExtensionSubjectKeyIdentifier . 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 DER a partir de dados brutos 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.
  • A propriedade AuthorityKeyIdentifier recupera os dados brutos.

Requirements

Requirement Value
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header certenroll.h
de DLL CertEnroll.dll

Consulte também

IX509ExtensionSubjectKeyIdentifier