Compartir a través de


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

El método GetAlgorithmOid recupera el identificador de objeto de algoritmo (OID). Este método está habilitado para web.

Syntax

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

Parámetros

[in] Length

Variable LONG que identifica el tamaño de clave necesario del algoritmo de cifrado simétrico. Use este parámetro para recuperar un algoritmo AES específico de una API de criptografía: proveedor de almacenamiento de claves (KSP) de próxima generación (CNG). Un KSP puede enumerar solo un algoritmo denominado AES, pero admitir todas las variantes de AES en la lista siguiente:

  • 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)

Si especifica cero para el parámetro Length y AlgorithmFlagsNone (0x00000000) para el parámetro AlgFlags , se recupera el OID asociado al algoritmo predeterminado. Para el KSP de software de Microsoft y el KSP de tarjeta inteligente de Microsoft, el algoritmo AES predeterminado es szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Nota Este parámetro debe ser cero para cualquier algoritmo que no sea un algoritmo de cifrado simétrico.

 

[in] AlgFlags

Valor de enumeración AlgorithmFlags que especifica si se va a buscar un algoritmo de ajuste de claves. Puede ser uno de los siguientes valores:

  • AlgorithmFlagsNone
  • AlgorithmFlagsWrap

Especificar AlgorithmFlagsWrap hace que este método busque algoritmos para los que el nombre para mostrar termina con "wrap". Esto incluye los siguientes OID:

  • 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)

Si especifica cero para el parámetro Length y AlgorithmFlagsNone (0x00000000) para el parámetro AlgFlags , se recupera el OID asociado al algoritmo predeterminado. Para el KSP de software de Microsoft y el KSP de tarjeta inteligente de Microsoft, el algoritmo AES predeterminado es szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Nota Este parámetro debe ser cero para cualquier algoritmo que no sea un algoritmo de cifrado simétrico.

 

[out] ppValue

Dirección de una variable que recibe un puntero a una interfaz IObjectId que representa el OID del algoritmo.

Valor devuelto

Si la función se ejecuta 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, entre otros, los de la tabla siguiente. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código y valor devueltos Description
CERTSRV_E_PROPERTY_EMPTY
No se encontró el OID del algoritmo.
OLE_E_BLANK
La información de CSP no se ha inicializado. Para obtener más información, consulte la interfaz ICspInformation .

Observaciones

Debe llamar al método InitializeFromName o al método InitializeFromType en la interfaz ICspInformation antes de llamar a GetAlgorithmOid.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header certenroll.h
DLL de CertEnroll.dll

Consulte también

ICspAlgorithm