MÉTODO IX509SignatureInformation::GetSignatureAlgorithm (certenroll.h)
El método GetSignatureAlgorithm recupera el identificador de objeto del algoritmo de firma (OID).
Sintaxis
HRESULT GetSignatureAlgorithm(
[in] VARIANT_BOOL Pkcs7Signature,
[in] VARIANT_BOOL SignatureKey,
[out] IObjectId **ppValue
);
Parámetros
[in] Pkcs7Signature
Variable VARIANT_BOOL que especifica si el algoritmo se usará para firmar una solicitud de certificado PKCS #7 o CMC.
[in] SignatureKey
Variable VARIANT_BOOL que especifica si se prefiere un algoritmo que solo se usa para la firma cuando se asocia un OID de algoritmo con más de un propósito. Por ejemplo, XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) se puede usar para el intercambio de claves y la firma.
[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 |
---|---|
|
No se ha especificado el OID del algoritmo hash o la propiedad NullSigned , pero no se encuentra el OID del algoritmo de firma. |
|
No se encontró el algoritmo de firma combinado. |
Comentarios
Este método busca un algoritmo de firma almacenado en caché que sea coherente con los parámetros de entrada. Si no se encuentra ninguno, el método usa los parámetros de entrada más los valores asignados a varias propiedades IX509SignatureInformation como se indica en la lista siguiente.
-
Pkcs7Signature = true, NullSigned = true
Este caso representa una solicitud de certificado PKCS #7 firmada por null. El método devuelve el XCN_OID_PKIX_NO_SIGNATURE (1.3.6.1.5.5.7.6.2) OID.
-
Pkcs7Signature = true, NullSigned = false
Este caso recupera un OID de algoritmo de firma discreto para una solicitud PKCS #7 que no tiene signo NULL. La firma discreta requiere que se establezcan las propiedades HashAlgorithm y PublicKeyAlgorithm . En el caso especial en el que el algoritmo de clave pública es XCN_OID_X957_DSA y el algoritmo hash no está XCN_OID_OIWSEC_sha1, el OID de firma recuperado es XCN_OID_X957_SHA1DSA (1.2.840.10040.4.3).
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true
Este caso recupera un OID de algoritmo de firma discreto para una solicitud PKCS #10 y codifica el OID del algoritmo hash en la propiedad Parameters . Se deben establecer las propiedades HashAlgorithm y PublicKeyAlgorithm .
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false
Este caso recupera un OID de algoritmo de firma discreto para una solicitud PKCS #7. Se deben establecer las propiedades HashAlgorithm y PublicKeyAlgorithm .
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 |