Condividi tramite


Metodo IX509PublicKey::ComputeKeyIdentifier (certenroll.h)

Il metodo ComputeKeyIdentifier crea un identificatore da un hash SHA-1 a 160 bit della chiave pubblica.

Sintassi

HRESULT ComputeKeyIdentifier(
  [in]  KeyIdentifierHashAlgorithm Algorithm,
  [in]  EncodingType               Encoding,
  [out] BSTR                       *pValue
);

Parametri

[in] Algorithm

Valore dell'enumerazione KeyIdentifierHashAlgorithm che specifica l'algoritmo hash da usare per creare l'identificatore di chiave.

Se questo valore è SKIHashDefault o SKIHashSha1, l'identificatore viene creato eseguendo l'hashing solo della matrice di byte che contiene la chiave ed escludendo i campi tag, lunghezza e bit inutilizzati Distinguished Encoding Rules (DER).

Se questo valore è SKIHashCapiSha1, l'identificatore viene creato eseguendo l'hashing della matrice di byte con codifica DER che contiene il tag, la lunghezza, il numero di bit inutilizzati e la chiave pubblica.

[in] Encoding

Valore di enumerazione EncodingType che specifica il tipo di codifica Unicode da applicare all'hash contenuto nel parametro pValue . Il valore predefinito è XCN_CRYPT_STRING_BASE64.

[out] pValue

Puntatore a una variabile BSTR contenente l'identificatore di chiave.

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 dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice/valore restituito Descrizione
CERTSRV_E_PROPERTY_EMPTY
Impossibile trovare l'identificatore dell'oggetto algoritmo o i parametri della chiave pubblica.

Commenti

È necessario chiamare il metodo InitializeFromEncodedPublicKeyInfo o il metodo Initialize per inizializzare l'oggetto chiave pubblica prima di chiamare ComputeKeyIdentifier.

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

Vedi anche

IX509PublicKey