Método IObjectId::GetAlgorithmName (certenroll.h)

O método GetAlgorithmName recupera o nome de exibição associado a um OID ( identificador de objeto de algoritmo).

Sintaxe

HRESULT GetAlgorithmName(
  [in]  ObjectIdGroupId        GroupId,
  [in]  ObjectIdPublicKeyFlags KeyFlags,
  [out] BSTR                   *pstrAlgorithmName
);

Parâmetros

[in] GroupId

Um valor de enumeração ObjectIdGroupId que especifica o grupo OID a ser pesquisado. Pode ser qualquer um dos seguintes grupos de algoritmos:

  • XCN_CRYPT_HASH_ALG_OID_GROUP_ID
  • XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID
  • XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID
  • XCN_CRYPT_SIGN_ALG_OID_GROUP_ID
Além disso, você também pode especificar grupos que não contêm algoritmos criptográficos:
  • XCN_CRYPT_RDN_ATTR_OID_GROUP_ID
  • XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID
  • XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID
  • XCN_CRYPT_POLICY_OID_GROUP_ID
  • XCN_CRYPT_TEMPLATE_OID_GROUP_ID

[in] KeyFlags

Um valor de enumeração ObjectIdPublicKeyFlags que especifica se deseja pesquisar uma assinatura ou um algoritmo de criptografia. Esse valor pode ser um dos seguintes:

  • XCN_CRYPT_OID_INFO_PUBKEY_ANY
  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
Você pode usar qualquer um dos dois últimos valores para desambiguar entre algoritmos como RSA que podem ser usados para criptografar e assinar mensagens. Você também deve especificar XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID no parâmetro GroupId . Especifique XCN_CRYPT_OID_INFO_PUBKEY_ANY se você definir o parâmetro GroupId como algo diferente de XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID.

[out] pstrAlgorithmName

Ponteiro para uma variável BSTR que contém o nome.

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
A cadeia de caracteres que contém o nome do algoritmo está vazia.
OLE_E_BLANK
Não foi possível encontrar o nome do algoritmo. Você deve chamar InitializeFromAlgorithmName antes de chamar GetAlgorithmName.

Comentários

Você pode usar a constante XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID para criar um valor de parâmetro GroupId que leva em conta o tamanho da chave para algoritmos que podem ser identificados por um comprimento de bit variável. Por exemplo, para inicializar um objeto IObjectId de um algoritmo AES de 192 bits, especifique "AES" para o parâmetro strAlgorithmName , mova o comprimento para a esquerda em 16 e execute uma combinação bit a bit OR no comprimento do bit deslocado e XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID.

Se você definir o parâmetro GroupId como algo diferente de XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID, especifique XCN_CRYPT_OID_INFO_PUBKEY_ANY para o parâmetro KeyFlags .

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

IObjectId