Freigeben über


StrongNameGetPublicKeyEx-Methode

Ruft den öffentlichen Schlüssel aus einem Paar aus öffentlichem und privatem Schlüssel ab und gibt einen Hash- und einen Signaturalgorithmus an.

Syntax

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

Parameter

pwzKeyContainer
[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 im Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) angeben. In diesem Fall extrahiert die Methode StrongNameGetPublicKeyEx 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 Byte.

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 Blobs mit dem öffentlichen Schlüssel.

uHashAlgId
[in] Der Assemblyhashalgorithmus. Eine Liste der akzeptierten Werte finden Sie im Abschnitt „Hinweise“.

uReserved
[in] Reserviert für die zukünftige Nutzung; standardmäßig auf NULL festgelegt.

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.

Die folgende Tabelle zeigt die zulässigen Werte für den Parameter uHashAlgId.

Name Wert
Keine 0
SHA-1 0x8004
SHA-256 0x800c
SHA-384 0x800d
SHA-512 0x800e

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MetaHost.h

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

.NET Framework-Versionen: seit Version 4.5 verfügbar

Siehe auch