Freigeben über


ICLRStrongName::StrongNameGetPublicKey-Methode

Ruft den öffentlichen Schlüssel aus einem Paar öffentlicher/privater Schlüssel ab. Das Schlüsselpaar kann entweder als Schlüsselcontainername innerhalb eines Kryptografiedienstanbieters (CSP) oder als unformatierte Sammlung von Bytes angegeben werden.

Syntax

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

Parameter

szKeyContainer
[in] Der Name des Schlüsselcontainers, der das Paar aus öffentlichem und privatem Schlüssel enthält. Wenn pbKeyBlob NULL ist, muss szKeyContainer einen gültigen Container innerhalb des CSP angeben. In diesem Fall extrahiert die ICLRStrongName::StrongNameGetPublicKey-Methode den öffentlichen Schlüssel aus dem im Container gespeicherten Schlüsselpaar.

Wenn pbKeyBlob nicht NULL ist, wird davon ausgegangen, dass das Schlüsselpaar im Schlüsselblob (Binary Large Object) enthalten ist.

Die Schlüssel müssen 1024-Bit-RSA-Signaturschlüssel (Rivest-Shamir-Adleman) sein. Derzeit werden keine anderen Schlüsseltypen unterstützt.

pbKeyBlob
[in] Ein Zeiger auf das Paar aus öffentlichem und privatem Schlüssel. Dieses Paar hat das Format, das von der Win32-Funktion CryptExportKey erstellt wurde. Wenn pbKeyBlob NULL ist, wird davon ausgegangen, dass der von szKeyContainer angegebene Schlüsselcontainer das Schlüsselpaar enthält.

cbKeyBlob
[in] Die Größe von pbKeyBlob in Bytes.

ppbPublicKeyBlob
[out] Das zurückgegebene Blob mit dem öffentlichen Schlüssel. Der ppbPublicKeyBlob-Parameter wird von der Common Language Runtime zugeordnet und an den Aufrufer zurückgegeben. Der Aufrufer muss den Arbeitsspeicher mithilfe der ICLRStrongName::StrongNameFreeBuffer-Methode freigeben.

pcbPublicKeyBlob
[out] Die Größe des zurückgegebenen Blob mit dem öffentlichen Schlüssel.

Rückgabewert

S_OK, wenn die Methode erfolgreich abgeschlossen wurde; andernfalls ein HRESULT-Wert, der einen Fehler angibt (eine Liste finden Sie unter allgemeine HRESULT-Werte).

Bemerkungen

Der öffentliche Schlüssel ist in einer PublicKeyBlob-Struktur enthalten.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MetaHost.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit Version 4 verfügbar

Siehe auch