Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im folgenden Szenario wird kurz umrissen, wie eine Assembly mit einem starken Namen signiert und wie später mit diesem Namen auf sie verwiesen wird.
- Assembly A wird auf eine der folgenden Weisen mit einem starken Namen erstellt:
Verwenden einer Entwicklungsumgebung, die das Erstellen starker Namen unterstützt, z. B. Visual Studio 2005
Die Entwicklungsumgebung oder das Tool signiert den Hash der Datei, die das Assemblymanifest enthält, mit dem privaten Schlüssel des Entwicklers. Diese digitale Signatur wird in der PE (Portable Executable)-Datei gespeichert, die das Manifest von Assembly A enthält.
Assembly B ist ein Consumer von Assembly A. Der Referenzabschnitt des Manifests von Assembly B enthält ein Token, das den öffentlichen Schlüssel von Assembly A repräsentiert. Ein Token ist ein Teilabschnitt des vollständigen öffentlichen Schlüssels und wird aus Platzgründen oft an Stelle des eigentlichen Schlüssels verwendet.
Die Common Language Runtime überprüft die starke Namenssignatur, wenn die Assembly im globalen Assemblycache platziert wird. Wenn während der Laufzeit eine Bindung über einen starken Namen erfolgt, vergleicht die Common Language Runtime den Schlüssel, der im Manifest von Assembly B gespeichert ist, mit dem Schlüssel, der zum Generieren des starken Namens von Assembly A verwendet wurde. Wenn die Sicherheitsüberprüfungen durch .NET Framework und die Bindung erfolgreich sind, ist für Assembly B sichergestellt, dass die Bits von Assembly A nicht verändert wurden und tatsächlich von den Entwicklern von Assembly A stammen.
Hinweis
Dieses Szenario deckt keine Fragen der Vertrauenswürdigkeit ab. Assemblys können neben starken Namen auch vollständige Microsoft® Authenticode®-Signaturen tragen. Authenticode-Signaturen enthalten ein Zertifikat, das Vertrauenswürdigkeit bescheinigt. Beachten Sie unbedingt, dass starke Namen es nicht erforderlich machen, Code auf diese Weise zu signieren. Die Schlüssel zum Generieren einer starken Namenssignatur müssen in der Tat nicht mit denen übereinstimmen, die zum Erstellen der Authenticode-Signatur verwendet werden.
Siehe auch
Referenz
Strong Name-Tool (Sn.exe)
Assembly Linker-Tool (Al.exe)