Compartilhar via


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 de 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 seguinte lista:

  • 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 , a OID associada ao algoritmo padrão será recuperada. Para o KSP de Software da Microsoft e o Microsoft Smart Card KSP, 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 , a OID associada ao algoritmo padrão será recuperada. Para o KSP de Software da Microsoft e o Microsoft Smart Card KSP, 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 OID do algoritmo.

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

Observações

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

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

ICspAlgorithm