Ich habe eine c # -Lösung, die mehrere c # -Klassenbibliotheken enthält. Ich mache in letzter Zeit einige Untersuchungen und es wird vorgeschlagen, dass die ausgegebenen Assemblies aus meinen Bibliotheken signiert werden sollten, so dass sie mit einem starken Namen signiert werden. Zuerst frage ich mich, ob es am besten ist, dass ich mit solchen fortschreite? Die Bibliotheken, die von diesen Klassenbibliotheken ausgegeben werden, werden in mehreren anderen Projekten verwendet.
Wenn ich von meiner vorherigen Frage rate, dass ich meine DLLs signieren soll, die .snk, die ich verwende, kann dies für jede der Klassenbibliotheken in der Lösung verwendet werden? Oder muss es ein Schlüssel pro Klassenbibliothek sein?
Manchmal ist das Signieren einer Assembly eine Voraussetzung. Dies gilt, wenn Sie Ihre Assembly GAC bearbeiten möchten oder wenn eine signierte Assembly auf eine andere verweisen möchte Montage.
Sie können dieselbe .snk
-Datei wiederverwenden, und dies wird dazu führen, dass für alle Assemblies der gleiche öffentliche Token angezeigt wird.
Dies ist wichtig, wenn Sie die Baugruppe für eine große Anzahl von Baugruppen in den GAC einfügen möchten.
Es ist vorteilhaft, wenn Sie es den Benutzern zur Verfügung stellen, anstatt es selbst zu installieren, da es ein gewisses Maß an Sicherheit bietet, dass es wirklich die Datei ist, von der Sie sagten, dass Sie sie anstatt manipuliert haben / p>
Es ist gut, einige (vielleicht nur eine) SNK-Dateien pro Entität zu verwenden (individuelle, kollektive, Open-Source-Gruppe oder Firma), wenn jemand Ihnen vertraut (ob "Sie" Person, Firma usw. bedeutet) und sie Vertraue daher einem öffentlichen Schlüssel, von dem sie sicher sind, dass er dein ist, und dann werden sie ihm auch das nächste Mal vertrauen. Sie würden nicht jedes Mal Schecks mit einer anderen handschriftlichen Unterschrift unterschreiben wollen, oder?
Tags und Links c# assemblies .net-assembly strongname assembly-signing