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 wszFilePath
angegebenen 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