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.

Sintaxis

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 admite 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 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
No se encontró el OID del algoritmo.
OLE_E_BLANK
No se ha inicializado la información de CSP. Para obtener más información, consulte la interfaz ICspInformation .

Comentarios

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

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

ICspAlgorithm