Frage

Was ist eine SNK-Datei für? Ich weiß, es steht für Stark Named Key , aber alle Erklärungen, was es ist und wie es geht über den Kopf funktioniert.

Gibt es eine einfache Erklärung, wie ein stark benannten Schlüssel verwendet wird und wie es funktioniert?

War es hilfreich?

Lösung

Die SNK-Datei wird verwendet, um ein . so ein starker Name besteht aus

  

ein einfacher Text Name, Versionsnummer,   und Kulturinformationen (falls   zur Verfügung gestellt) -plus einen öffentlichen Schlüssel und einen   digitale Signatur.

Die SNK enthält eine einzigartige Schlüsselpaar - einen privaten und einen öffentlichen Schlüssel, die verwendet werden können, um sicherzustellen, dass Sie einen eindeutigen starken Namen für die Montage haben. Wenn die Anordnung stark Namen, ein „Hash“ aus dem Inhalt der Baugruppe aufgebaut, und die Hash wird mit dem privaten Schlüssel verschlüsselt. Dann ist dieser signierte Hash wird bei der Montage zusammen mit dem öffentlichen Schlüssel von der .snk platziert.

Später, wenn jemand die Integrität der stark genannten Baugruppe überprüfen muss, sie einen Hash des Inhalts der Versammlung bauen, und den öffentlichen Schlüssel von der Baugruppe verwenden, um die Hash zu entschlüsseln, kam mit der Montage - wenn die beiden Hashes übereinstimmen, geht die Montage Überprüfung

.

Es ist wichtig, dass man Baugruppen auf diese Weise zu überprüfen, um sicherzustellen, dass niemand eine Anordnung für einen bösartigen einen auslagert, die die gesamte Anwendung untergraben werden. Aus diesem Grunde nicht-Assemblys mit starkem Namen ist nicht in der gleichen Art und Weise vertraut, die stark genannten Baugruppen sind, so dass sie nicht in den GAC platziert werden. Außerdem gibt es eine Kette des Vertrauens -. Sie erzeugen einen stark benannte Assembly, die nicht stark benannte Baugruppen verweist

Der Artikel „ Die Geheimnisse des Starken Naming “. Hat eine ausgezeichnete Arbeit dieser Konzepte näher erläutern. Mit Bildern.

Andere Tipps

  

In einer the.Net Welt der SNK Datei wird verwendet, um Ihre kompilierten Binärdateien zu unterzeichnen.   Auf diese Weise kann ein paar Dinge passieren:

  1. Sie können die Assembly im GAC (Global Assembly Cache) registrieren. Im Grunde genommen, so können Sie es von vielen Orten auf der gleichen Maschine verweisen, ohne dass mehrere Kopien pflegen zu müssen).
  2. Sie können Ihre Binaries aus anderen Binärdateien verwenden, die auch unterschrieben werden (dies ist eine seltsame virale Art von Verhalten in Bezug auf unterzeichnet Baugruppen).
  3. Ihre Montage kann nicht (leicht) von geändert werden 3. Parteien , die keinen Zugriff auf die SNK-Datei verfügen, zumindest eine kleine Menge an Sicherheit.

Ich bin nicht vertraut mit, wie BizTalk Server funktioniert, so dass ich glaube nicht, dass ich auf viel Licht werfen kann, welche spezifischen Zweck sie innerhalb dieser Umgebung dienen.

Hope war etwas hilfreich.

Die SNK-Datei für das Signieren der Baugruppen verwendet wird, um in der Lage sein, sie zu der Global Assembly Cache (GAC) hinzuzufügen.

Die SNK-Datei enthält die öffentlichen und privaten Token für Ihren Schlüssel. Wenn Sie einige Daten signieren möchten (oder binär) mit diesem Schlüssel wird eine Prüfsumme über die Daten berechnet, die dann mit dem privaten Token verschlüsselt ist. Das verschlüsselte Prüfsumme wird dann zu den Daten hinzugefügt. Jeder kann die öffentlichen Token von Ihrem Schlüssel verwendet, um die Prüfsumme zu entschlüsseln und an die Prüfsumme vergleichen sie, dass die signierten Daten berechnet, um zu überprüfen haben nicht manipuliert wurden.

Sie können mehr über die Public-Key-Kryptographie lesen unter http://en.wikipedia.org/ wiki / Public-key_cryptography .

Eine SNK-Datei ist eine persistente Version Ihres „Keys“ durch den sn-Dienstprogramm im Rahmen Dienstprogramm Set erzeugt. Anschließend verwenden Sie diese Datei auf Ihren Baugruppen ‚digital signieren‘. Es ist eine 2-teiliger Schlüssel .. Private-Public-Key-Kombination. Der öffentliche Teil des Schlüssels wird das heißt jedem bekannt veröffentlicht. Der private Teil ist bekannt, dass nur Sie, die Komponente / App-Entwickler und sollte auf diese Weise gehalten zu werden.

Wenn Sie Ihre Montage unterzeichnen, es verwendet den privaten Schlüssel und einen Hash-Wert für die Assembly eine digitale Signatur zu erstellen, die in Ihrer Assembly eingebettet ist. Danach wird jeder, der Assembly lädt durchläuft einen Prüfschritt. Der öffentliche Schlüssel wird verwendet, um zu validieren, wenn die Montag kommt wirklich von Ihnen .. Sie nur den öffentlichen Schlüssel dafür brauchen (die auch in Zeichen übersetzten Form in dem Assembly-Manifest eingebettet ist). Wenn die Anordnung manipuliert wurde, würde der Hash-Wert unterschiedlich sein und die Montagelast abgebrochen werden würde. Dies ist ein Sicherheitsmechanismus.

Eine SNK-Datei wird verwendet, um sicherzustellen, dass jemand anderes nicht eine Versammlung ihrer eigenen an der Stelle von Ihnen verrutschen kann. Es stellt ein Paar von Verschlüsselungs- / Entschlüsselungs-Schlüssel.

Wenn eine SNK-Datei verwendet wird, um eine Anordnung zu unterschreiben, wird ein Hash-Code-Wert aus der Baugruppendatei berechnet und verschlüsselt mit dem privaten Schlüssel. Das verschlüsselte „Digest“ wird dann auf die Montage zusammen mit dem öffentlichen Schlüssel aus der SNK-Datei angehängt.

Dann, wenn jemand Ihre Montage erhält, kann sie auch, dass die Hash-Code-Wert berechnen. Sie nutzen den öffentlichen Schlüssel des einen entschlüsseln, die Sie die berechneten Werte berechnet und vergleichen. Wenn die Versammlung überhaupt geändert worden ist, werden diese Werte unterschiedlich sein und der Benutzer der Anordnung wird wissen, dass der Baugruppe Sie haben nicht das ist, die Sie zur Verfügung gestellt.

Im Rahmen von BizTalk Server, wer auch immer alle benutzerdefinierten Assembly erstellt, die von BizTalk-Lösung verwendet werden, müssen eine SNK-Datei verwenden, um die Assembly zu signieren, so dass BizTalk Server in das GAC laden und verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top