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