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 em 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.

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.

Valor/código retornado Descrição
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Comentários

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

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 por 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 essa 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.

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

IX509ExtensionSubjectKeyIdentifier