Plik .snk służy do stosowania silnej nazwy do zestawu .NET . na tak silną nazwę składa się
prosta nazwa tekstowa, numer wersji i informacje o kulturze (jeśli są podane) - plus klucz publiczny i podpis cyfrowy.
SNK zawiera unikalną parę kluczy - prywatny i publiczny klucz, którego można użyć, aby zapewnić, że masz unikalną silną nazwę dla zestawu. Gdy zestaw ma silną nazwę, z zawartości zestawu jest konstruowany „skrót”, który jest szyfrowany za pomocą klucza prywatnego. Następnie ten podpisany hash jest umieszczany w zestawie wraz z kluczem publicznym z pliku .snk.
Później, kiedy potrzebuje kogoś do sprawdzenia integralności zespół silnie nazwane, oni zbudować hash treści Zgromadzenia i użyj klucza publicznego z zespołu do rozszyfrowania skrótu, który przyszedł z zespołu - jeśli dwa hashe się zgadzają, weryfikacja montażu przechodzi.
Ważne jest, aby móc weryfikować zestawy w ten sposób, aby upewnić się, że nikt nie zamieni zestawu na złośliwy, który zniszczy całą aplikację. Dlatego zestawy o silnych nazwach nie są zaufane w taki sam sposób, jak zestawy o silnych nazwach, więc nie można ich umieszczać w GAC. Ponadto istnieje łańcuch zaufania - nie można wygenerować zestawu o silnej nazwie, który odwołuje się do zestawów o innych nazwach.
Artykuł „ Sekrety silnego nazewnictwa ”. Wykonuje świetną robotę, wyjaśniając bardziej szczegółowo te pojęcia. Ze zdjęciami.
Nie wiem, jak działa serwer BizTalk , więc nie sądzę, żebym mógł rzucić dużo światła na to, do jakiego konkretnego celu służą w tym środowisku.
Mam nadzieję, że to było trochę pomocne.
źródło
Plik .snk służy do podpisywania zestawów, aby można było dodać je do Global Assembly Cache (GAC).
Plik .snk zawiera tokeny publiczne i prywatne dla Twojego klucza. Jeśli chcesz podpisać dane (lub dane binarne) tym kluczem, na danych obliczana jest suma kontrolna, która jest następnie szyfrowana za pomocą prywatnego tokena. Zaszyfrowana suma kontrolna jest następnie dodawana do danych. Każdy może użyć publicznego tokena z twojego klucza, aby odszyfrować sumę kontrolną i porównać ją z sumą kontrolną, którą obliczyli, aby sprawdzić, czy podpisane dane nie zostały naruszone.
Więcej informacji na temat kryptografii klucza publicznego można znaleźć pod adresem http://en.wikipedia.org/wiki/Public-key_cryptography .
źródło
Plik .snk to utrwalona wersja Twojego „klucza” utworzona przez narzędzie sn w zestawie narzędzi platformy. Następnie używasz tego pliku do „podpisywania cyfrowego” swoich zestawów. Jest to dwuczęściowy klucz… kombinacja klucza prywatnego i publicznego. Publiczna część klucza jest publikowana, czyli znana każdemu. Część prywatna jest znana tylko Tobie, twórcy komponentu / aplikacji i powinna być zachowana.
Podczas podpisywania zestawu używa klucza prywatnego i wartości skrótu zestawu, aby utworzyć podpis cyfrowy, który jest osadzony w zestawie. Następnie każdy, kto ładuje Twój zespół, przechodzi przez etap weryfikacji. Klucz publiczny służy do sprawdzania, czy zestaw naprawdę pochodzi od Ciebie. Potrzebujesz tylko klucza publicznego (który jest również osadzony w formie tokenizowanej w manifeście zestawu). Jeśli dokonano ingerencji w zestaw, wartość skrótu byłaby inna i ładowanie zestawu zostałoby przerwane. To jest mechanizm bezpieczeństwa.
źródło
Plik .snk jest używany w celu zapewnienia, że ktoś inny nie może wsunąć własnego zestawu w miejsce twojego. Zapewnia parę kluczy szyfrowania / deszyfrowania.
Gdy plik .snk jest używany do podpisywania zestawu, wartość kodu skrótu jest obliczana na podstawie pliku zestawu i szyfrowana przy użyciu klucza prywatnego. To zaszyfrowane „streszczenie” jest następnie dołączane do zestawu wraz z kluczem publicznym z pliku .snk.
Następnie, gdy ktoś otrzyma Twój zestaw, może również obliczyć wartość kodu skrótu. Używają klucza publicznego do odszyfrowania tego, który obliczyłeś, i porównania obliczonych wartości. Jeśli zestaw został w ogóle zmieniony, wartości te będą inne, a użytkownik zestawu będzie wiedział, że zestaw, który masz, nie jest tym, który podałeś.
W kontekście BizTalk Server, ktokolwiek buduje niestandardowe zestawy używane przez rozwiązanie BizTalk, będzie musiał użyć pliku .snk do podpisania zestawu, aby serwer BizTalk mógł go załadować do GAC i używać.
źródło