Share via


Metodo ICLRStrongName::StrongNameGetPublicKey

Ottiene la chiave pubblica da una coppia di chiavi pubblica/privata. La coppia di chiavi può essere fornita come nome del contenitore di chiavi all'interno di un provider di servizi di crittografia (CSP) o come raccolta non elaborata di byte.

Sintassi

HRESULT StrongNameGetPublicKey (
    [in]  LPCWSTR   szKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbPublicKeyBlob,  
    [out] ULONG     *pcbPublicKeyBlob  
);  

Parametri

szKeyContainer
[in] Nome del contenitore della chiave contenente la coppia di chiavi pubblica/privata. Se pbKeyBlob è Null, szKeyContainer deve specificare un contenitore valido all'interno del CSP. In questo caso, il metodo ICLRStrongName::StrongNameGetPublicKey estrae la chiave pubblica dalla coppia di chiavi archiviata nel contenitore.

Se pbKeyBlob non è Null, si presuppone che la coppia di chiavi sia contenuta nell'oggetto BLOB (Key Binary Large Object).

Le chiavi devono essere chiavi di firma rivest-Shamir-Adleman (RSA) a 1024 bit. Nessun altro tipo di chiavi è supportato in questo momento.

pbKeyBlob
[in] Puntatore alla coppia di chiavi pubblica/privata. Questa coppia è nel formato creato dalla funzione Win32 CryptExportKey . Se pbKeyBlob è Null, si presuppone che il contenitore della chiave specificato da szKeyContainer contenga la coppia di chiavi.

cbKeyBlob
[in] Dimensioni, in byte, di pbKeyBlob.

ppbPublicKeyBlob
[out] BLOB della chiave pubblica restituita. Il ppbPublicKeyBlob parametro viene allocato dal common language runtime e restituito al chiamante. Il chiamante deve liberare la memoria usando il metodo ICLRStrongName::StrongNameFreeBuffer .

pcbPublicKeyBlob
[out] Dimensioni del BLOB della chiave pubblica restituita.

Valore restituito

S_OK se il metodo è stato completato correttamente; in caso contrario, un valore HRESULT che indica l'errore (vedere Valori HRESULT comuni per un elenco).

Commenti

La chiave pubblica è contenuta in una struttura PublicKeyBlob .

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 4

Vedi anche