Share via


StrongNameSignatureGenerationEx-Funktion

Generiert eine Signatur mit starkem Namen für die angegebene Assembly basierend auf den angegebenen Flags.

Diese Funktion ist veraltet. Verwenden Sie stattdessen die ICLRStrongName::StrongNameSignatureGenerationEx-Methode.

Syntax

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 zur Datei mit dem Manifest der Assembly, für die die Signatur mit starkem Name generiert wird.

wszKeyContainer
[in] Der Name des Schlüsselcontainers, der das Paar aus öffentlichem und privatem Schlüssel enthält.

Wenn pbKeyBlob NULL ist, muss wszKeyContainer einen gültigen Container innerhalb des Kryptografiedienstanbieters (CSP) angeben. In diesem Fall wird das im Container gespeicherte Schlüsselpaar verwendet, um die Datei zu signieren.

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

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 wszKeyContainer angegebene Schlüsselcontainer das Schlüsselpaar enthält.

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

ppbSignatureBlob
[out] Ein Zeiger auf den Speicherort, an den die Common Language Runtime die Signatur zurückgibt. Wenn ppbSignatureBlob NULL ist, speichert die Runtime die Signatur in der von wszFilePathangegebenen Datei.

Wenn ppbSignatureBlob nicht NULL ist, teilt die Common Language Runtime Speicherplatz zu, in dem die Signatur zurückgegeben werden soll. Der Aufrufer muss diesen Speicherplatz mit der StrongNameFreeBuffer-Funktion freigeben.

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

dwFlags
[in] Mindestens einer der folgenden Werte:

  • SN_SIGN_ALL_FILES (0x00000001): alle Hashes für verknüpfte Module neu berechnen.

  • SN_TEST_SIGN (0x00000002): die Assembly testweise signieren.

Rückgabewert

true nach erfolgreichem Abschluss; andernfalls false.

Bemerkungen

Geben Sie NULL für wszFilePath 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 ist, aber kein öffentlicher Schlüssel enthalten ist (sowohl pbKeyBlob als auch wszFilePath sind NULL), werden Hashes für verknüpfte Module neu berechnet, aber die Assembly wird nicht erneut signiert.

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

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

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: StrongName.h

Bibliothek: als Ressource in „MsCorEE.dll“ enthalten

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

Weitere Informationen