Condividi tramite


Metodo ICLRStrongName::StrongNameGetPublicKey

Ottiene la chiave pubblica da un coppia di chiavi pubblica/privata. La coppia di chiavi può essere fornita come nome del contenitore di chiavi all'interno di un provider del servizio di crittografia (CSP, Cryptographic Service Provider) oppure come insieme non elaborato di byte.

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

Parametri

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

    Se il parametro pbKeyBlob non è null, si presuppone che la coppia di chiavi sia contenuta nell'oggetto BLOB (Binary Large Object) della chiave.

    Le chiavi devono essere costituite da chiavi di firma RSA (Rivest-Shamir-Adleman) a 1024 bit. Attualmente non sono supportati altri tipi di chiavi.

  • pbKeyBlob
    [in] Puntatore alla coppia di chiavi pubblica/privata. Il formato di questa coppia corrisponde a quello creato dalla funzione Win32 CryptExportKey. Se il parametro pbKeyBlob è null, si presuppone che la coppia di chiavi sia archiviata nel contenitore di chiavi specificato dal parametro szKeyContainer.

  • cbKeyBlob
    [in] Dimensione, in byte, di pbKeyBlob.

  • ppbPublicKeyBlob
    [out] Oggetto BLOB della chiave pubblica restituito. Il parametro ppbPublicKeyBlob viene allocato da Common Language Runtime e restituito al chiamante, Il chiamante deve liberare la memoria utilizzando il metodo ICLRStrongName::StrongNameFreeBuffer.

  • pcbPublicKeyBlob
    [out] Dimensione dell'oggetto BLOB della chiave pubblica restituito.

Valore restituito

S_OK se il metodo è stato completata correttamente; in caso contrario, un valore HRESULT che indica un esito negativo (consultare Valori comuni HRESULT per un elenco).

Note

La chiave pubblica è contenuta in una struttura PublicKeyBlob.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Struttura PublicKeyBlob

Interfaccia ICLRStrongName

Altre risorse

Metodo ICLRStrongName::StrongNameTokenFromPublicKey

Cronologia delle modifiche

Data

Cronologia

Motivo

Aprile 2011

Ha corretto il valore restituito.

Correzione di bug nel contenuto.

Luglio 2010

Argomento aggiunto.

Miglioramento delle informazioni.