Sie müssen Baugruppen signieren, wenn Sie sie in die GAC setzen möchten.
Wenn Sie eine ausführbare Datei signieren, müssen alle Klassenbibliotheken, mit denen sie verknüpft ist, ebenfalls signiert werden. Dies kann schwierig sein, wenn Sie eine Bibliothek eines Drittanbieters verwenden (insbesondere, wenn Sie ein ActiveX Steuerelement oder ähnliches verwenden müssen).
Richard Grimes hat eine gute Werkstatt über die Sicherheit in .NET geschrieben und das schließt ein Kapitel dazu: Security Workshop
Der Grund für alle Baugruppen mit derselben .snk Datei signiert werden könnte, wenn er Einheit verwendet Testen mit Codeabdeckung. Um Codeabdeckung zu machen (zumindest mit den in die Testversion von Visual Studio integrierten Tools) und wenn die Assemblys signiert sind, müssen Sie angeben, welche .SNK-Dateien für das Signieren verwendet werden, aber ich denke Sie Sie können nur eine .snk-Datei für die gesamte Lösung angeben. Wenn Sie also die verschiedenen Klassenbibliotheken mit unterschiedlichen .snk-Dateien signieren, können Sie nur die Codeabdeckung für jeweils eine der beiden Klassen gleichzeitig überprüfen.
Brillante Antwort – Eon
Beachten Sie, dass die Überprüfung der Signaturen nicht mehr stattfindet (seit .NET 2.0), wenn sie in GAC platziert werden; [es passiert nur einmal, wenn es zum GAC hinzugefügt wird] (http://davidyardy.com/archive/strong-names-and-signing-assemblies-netaspx/). – Abel
Was denkst du darüber, es heute zu signieren? Auf webbasierten Systemen? Wenn ich richtig liege, war es nur nötig, wenn ich über installierte Software rede, oder? Wenn ich meine App mit TFS in Azure veröffentliche, weiß ich, dass sie nicht manipuliert wurde, oder? Oder fehlt mir ein Sicherheitsteil? –