Freigeben über


StrongNameSignatureGenerationEx-Funktion

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

Diese Funktion ist in .NET Framework, Version 4 veraltet. Verwenden Sie stattdessen die ICLRStrongName::StrongNameSignatureGenerationEx-Methode.

BOOLEAN 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 mit der StrongNameFreeBuffer-Funktion 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

Bei erfolgreichem Abschluss true, andernfalls false.

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.

Wenn die StrongNameSignatureGenerationEx-Funktion nicht erfolgreich abgeschlossen wird, rufen Sie die StrongNameErrorInfo-Funktion auf, um den letzten generierten Fehler abzurufen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: StrongName.h

Bibliothek: als Ressource in MsCorEE.dll enthalten

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Siehe auch

Referenz

ICLRStrongName-Schnittstelle

Weitere Ressourcen

ICLRStrongName::StrongNameSignatureGenerationEx-Methode

ICLRStrongName::StrongNameSignatureGeneration-Methode

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2010

Link zu empfohlener Alternative hinzugefügt.

Informationsergänzung.