Freigeben über


ICLRStrongName::StrongNameSignatureGenerationEx-Methode

Aktualisiert: April 2011

Generiert entsprechend den festgelegten Flags eine starke Namenssignatur für die angegebene Assembly.

HRESULT StrongNameSignatureGenerationEx (
    [in]  LPCWSTR   wszFilePath,
    [in]  LPCWSTR   wszKeyContainer,
    [in]  BYTE      *pbKeyBlob,
    [in]  ULONG     cbKeyBlob,
    [out] BYTE      **ppbSignatureBlob,
    [out] ULONG     *pcbSignatureBlob,
    [in]  DWORD     dwFlags
);

Parameter

  • wszFilePath
    [in] Der Pfad zu der Datei, die das Manifest der Assembly enthält, für die die Signatur mit starkem Namen generiert wird.

  • wszKeyContainer
    [in] Der Name des Schlüsselcontainers, der das öffentliche/private Schlüsselpaar enthält.

    Wenn pbKeyBlob NULL ist, muss wszKeyContainer einen gültigen Container im Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) angeben. In diesem Fall wird zum Signieren der Datei das im Container gespeicherte Schlüsselpaar verwendet.

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

  • pbKeyBlob
    [in] Ein Zeiger auf das öffentliche/private Schlüsselpaar. Dieses Paar weist das von der Win32-CryptExportKey-Funktion erstellte Format auf. Wenn pbKeyBlob NULL ist, wird davon ausgegangen, dass der von wszKeyContainer angegebene Schlüsselcontainer das Schlüsselpaar enthält.

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

  • ppbSignatureBlob
    [out] Ein Zeiger auf die Adresse, an die die Common Language Runtime die Signatur zurückgibt. Wenn ppbSignatureBlob NULL ist, speichert die Common Language Runtime die Signatur in der durch wszFilePath angegebenen Datei.

    Wenn ppbSignatureBlob einen Wert ungleich NULL hat, weist die Common Language Runtime Speicherplatz für die Rückgabe der Signatur zu. Der Aufrufer muss diesen Speicherplatz unter Verwendung der ICLRStrongName::StrongNameFreeBuffer-Methode freigeben.

  • pcbSignatureBlob
    [out] Die Größe der zurückgegebenen Signatur in Bytes.

  • dwFlags
    [in] Einer oder mehrere der folgenden Werte:

    • SN_SIGN_ALL_FILES (0x00000001) – Neuberechnung aller Hashs für verknüpfte Module.

    • SN_TEST_SIGN (0x00000002) – Testsignieren der Assembly.

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).

Hinweise

Geben Sie für wszFilePath NULL an, um die Größe der Signatur zu berechnen, ohne die Signatur zu erstellen.

Die Signatur kann entweder direkt in der Datei gespeichert oder an den Aufrufer zurückgegeben werden.

Wenn SN_SIGN_ALL_FILES angegeben wurde, doch kein öffentlicher Schlüssel eingeschlossen ist (pbKeyBlob und wszFilePath sind NULL), werden Hashs für verknüpfte Module neu berechnet, doch die Assembly wird nicht neu signiert.

Wenn SN_TEST_SIGN angegeben ist, wird der Header der Common Language Runtime nicht geändert, um anzugeben, dass die Assembly mit einem starken Namen signiert wurde.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MetaHost.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Referenz

ICLRStrongName-Schnittstelle

Weitere Ressourcen

ICLRStrongName::StrongNameSignatureGeneration-Methode

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

April 2011

Rückgabewert wurde korrigiert.

Korrektur inhaltlicher Fehler.

Juli 2010

Thema hinzugefügt.

Informationsergänzung.