Metodo IX509SignatureInformation::GetSignatureAlgorithm (certenroll.h)
Il metodo GetSignatureAlgorithm recupera l'identificatore dell'oggetto dell'algoritmo di firma (OID).
Sintassi
HRESULT GetSignatureAlgorithm(
[in] VARIANT_BOOL Pkcs7Signature,
[in] VARIANT_BOOL SignatureKey,
[out] IObjectId **ppValue
);
Parametri
[in] Pkcs7Signature
Variabile VARIANT_BOOL che specifica se l'algoritmo verrà usato per firmare una richiesta di certificato PKCS #7 o CMC.
[in] SignatureKey
Una variabile VARIANT_BOOL che specifica se un algoritmo utilizzato solo per la firma è preferito quando un OID dell'algoritmo è associato a più di uno scopo. Ad esempio, XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) può essere usato sia per la firma che per lo scambio di chiavi.
[out] ppValue
Indirizzo di una variabile che riceve un puntatore a un'interfaccia IObjectId che rappresenta l'OID dell'algoritmo.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce S_OK.
Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.
Codice/valore restituito | Descrizione |
---|---|
|
L'OID dell'algoritmo hashing o la proprietà NullSigned non è stata specificata, ma non è possibile trovare l'OID dell'algoritmo di firma. |
|
Impossibile trovare l'algoritmo di firma combinato. |
Commenti
Questo metodo cerca un algoritmo di firma memorizzato nella cache coerente con i parametri di input. Se non viene trovato alcun elemento, il metodo usa i parametri di input e i valori assegnati a varie proprietà IX509SignatureInformation , come indicato dall'elenco seguente.
-
Pkcs7Signature = true, NullSigned = true
Questo caso rappresenta una richiesta di certificato PKCS #7 firmata null. Il metodo restituisce l'OID XCN_OID_PKIX_NO_SIGNATURE (1.3.6.1.5.5.7.6.2).
-
Pkcs7Signature = true, NullSigned = false
In questo caso viene recuperato un OID dell'algoritmo di firma discreto per una richiesta PKCS #7 non firmata da Null. La firma discreta richiede che vengano impostate le proprietà HashAlgorithm e PublicKeyAlgorithm . Nel caso speciale in cui l'algoritmo di chiave pubblica è XCN_OID_X957_DSA e l'algoritmo di hashing non è XCN_OID_OIWSEC_sha1, l'OID dell'algoritmo di firma recuperato è XCN_OID_X957_SHA1DSA (1.2.840.10040.4.3).
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true
In questo caso viene recuperato un OID dell'algoritmo di firma discreto per una richiesta PKCS #10 e codifica l'OID dell'algoritmo hash nella proprietà Parameters . Le proprietà HashAlgorithm e PublicKeyAlgorithm devono essere impostate.
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false
In questo caso viene recuperato un OID dell'algoritmo di firma discreto per una richiesta PKCS #7. Le proprietà HashAlgorithm e PublicKeyAlgorithm devono essere impostate.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certenroll.h |
DLL | CertEnroll.dll |