Zunächst müssen Sie beim Erstellen einer freigegebenen Assembly mit kryptografischen Schlüsseln arbeiten. Beim Erstellen der Assembly wird nur der öffentliche Schlüssel benötigt. Compiler, die auf .NET Framework abzielen, bieten Befehlszeilenoptionen (oder verwenden benutzerdefinierte Attribute) zum Bereitstellen des öffentlichen Schlüssels beim Erstellen der Assembly. Es ist üblich, eine Kopie eines allgemeinen öffentlichen Schlüssels in einer Quelldatenbank zu speichern und Build-Skripte auf diesen Schlüssel zu verweisen. Bevor die Baugruppe versandt wird, muss die Baugruppe vollständig mit dem entsprechenden privaten Schlüssel signiert sein. Dies geschieht mithilfe eines SDK-Tools namens SN.exe (Strong Name).
Starke Signierung beinhaltet keine Zertifikate wie Authenticode. Es sind keine Drittorganisationen beteiligt, keine Gebühren zu zahlen und keine Zertifikatsketten. Darüber hinaus ist der Aufwand für die Überprüfung eines starken Namens viel geringer als für Authenticode. Starke Namen geben jedoch keine Aussagen über das Vertrauen eines bestimmten Herausgebers. Mit starken Namen können Sie sicherstellen, dass der Inhalt einer bestimmten Assembly nicht manipuliert wurde und dass die in Ihrem Auftrag zur Laufzeit geladene Assembly vom selben Publisher stammt, für den Sie auch entwickelt haben. Aber es macht keine Aussage darüber, ob Sie der Identität dieses Herausgebers vertrauen können.
Hoffe, das hilft.
zwischen wem geteilt? –
Und welche Art von "Overhead" beziehen Sie sich? – jalf
@Steve Sorry, ich habe nicht gesehen, dass es schon eine Frage dazu gab. – 3692