Método ICspAlgorithm::GetAlgorithmOid (certenroll.h)

O método GetAlgorithmOid recupera o OID (identificador de objeto de algoritmo). Esse método está habilitado para a Web.

Sintaxe

HRESULT GetAlgorithmOid(
  [in]  LONG           Length,
  [in]  AlgorithmFlags AlgFlags,
  [out] IObjectId      **ppValue
);

Parâmetros

[in] Length

Uma variável LONG que identifica o tamanho da chave necessário do algoritmo de criptografia simétrica. Use esse parâmetro para recuperar um algoritmo AES específico de uma API de Criptografia: KSP (provedor de armazenamento de chaves) de próxima geração (CNG). Um KSP pode listar apenas um algoritmo chamado AES, mas dar suporte a todas as variantes do AES na lista a seguir:

  • szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
  • szOID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
  • szOID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
  • szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
  • szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
  • szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)

Se você especificar zero para o parâmetro Length e AlgorithmFlagsNone (0x00000000) para o parâmetro AlgFlags , o OID associado ao algoritmo padrão será recuperado. Para o KSP do Microsoft Software e o KSP do Cartão Inteligente da Microsoft, o algoritmo AES padrão é szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Nota Esse parâmetro deve ser zero para qualquer algoritmo que não seja um algoritmo de criptografia simétrica.

 

[in] AlgFlags

Um valor de enumeração AlgorithmFlags que especifica se um algoritmo de encapsulamento de chave deve ser pesquisado. Esse valor pode ser um dos seguintes:

  • AlgorithmFlagsNone
  • AlgorithmFlagsWrap

Especificar AlgorithmFlagsWrap faz com que esse método pesquise algoritmos para os quais o nome de exibição termina com "wrap". Isso inclui os seguintes OIDs:

  • szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
  • szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
  • szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
  • XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.6)
  • XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)

Se você especificar zero para o parâmetro Length e AlgorithmFlagsNone (0x00000000) para o parâmetro AlgFlags , o OID associado ao algoritmo padrão será recuperado. Para o KSP do Microsoft Software e o KSP do Cartão Inteligente da Microsoft, o algoritmo AES padrão é szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Nota Esse parâmetro deve ser zero para qualquer algoritmo que não seja um algoritmo de criptografia simétrica.

 

[out] ppValue

Endereço de uma variável que recebe um ponteiro para uma interface IObjectId que representa o algoritmo OID.

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
CERTSRV_E_PROPERTY_EMPTY
Não foi possível encontrar o OID do algoritmo.
OLE_E_BLANK
As informações do CSP não foram inicializadas. Para obter mais informações, consulte a interface ICspInformation .

Comentários

Você deve chamar o método InitializeFromName ou o método InitializeFromType na interface ICspInformation antes de chamar GetAlgorithmOid.

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

ICspAlgorithm