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

El método GetAlgorithmName recupera el nombre para mostrar asociado a un identificador de objeto de algoritmo (OID).

Sintaxis

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

Parámetros

[in] GroupId

Valor de enumeración ObjectIdGroupId que especifica el grupo de OID que se va a buscar. Puede ser cualquiera de los siguientes 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
Además, también puede especificar grupos que no contengan 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

Valor de enumeración ObjectIdPublicKeyFlags que especifica si se debe buscar una firma o un algoritmo de cifrado. Puede ser uno de los siguientes valores:

  • XCN_CRYPT_OID_INFO_PUBKEY_ANY
  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
Puede usar cualquiera de los dos últimos valores para desambiguar entre algoritmos, como RSA, que se pueden usar para cifrar y firmar mensajes. También debe especificar XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID en el parámetro GroupId . Especifique XCN_CRYPT_OID_INFO_PUBKEY_ANY si establece el parámetro GroupId en algo distinto de XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID.

[out] pstrAlgorithmName

Puntero a una variable BSTR que contiene el nombre.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
CERTSRV_E_PROPERTY_EMPTY
La cadena que contiene el nombre del algoritmo está vacía.
OLE_E_BLANK
No se encontró el nombre del algoritmo. Debe llamar a InitializeFromAlgorithmName antes de llamar a GetAlgorithmName.

Comentarios

Puede usar la constante XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID para crear un valor de parámetro GroupId que tenga en cuenta el tamaño de clave de los algoritmos que se pueden identificar mediante una longitud de bits variable. Por ejemplo, para inicializar un objeto IObjectId a partir de un algoritmo AES de 192 bits, especifique "AES" para el parámetro strAlgorithmName , cambie la longitud izquierda por 16 y realice una combinación OR bit a bit en la longitud de bits desplazada y XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID.

Si establece el parámetro GroupId en algo distinto de XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID, especifique XCN_CRYPT_OID_INFO_PUBKEY_ANY para el parámetro KeyFlags .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IObjectId