Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El método GetSignatureAlgorithm recupera el identificador de objeto de algoritmo de firma (OID).
Syntax
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, se pueden usar XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) 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 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 |
|---|---|
|
No se ha especificado el algoritmo hash OID o la propiedad NullSigned , pero no se encuentra el OID del algoritmo de firma. |
|
No se encontró el algoritmo de firma combinado. |
Observaciones
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 OID (1.3.6.1.5.5.7.6.2).
-
Pkcs7Signature = true, NullSigned = false
En este caso se 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 algoritmo de firma recuperado se 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
| 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 |