2011-12-05 14 views
8

Mam rozwiązanie C#, które zawiera wiele bibliotek klasy C#. Ostatnio prowadzę badania i sugeruje się, że wydrukowane zespoły z moich bibliotek powinny zostać podpisane, co spowoduje podpisanie ich pod silną nazwą. Po pierwsze zastanawiam się, czy najlepiej postępuję z takimi? Biblioteki, które zostały wyprowadzone z tych bibliotek klas, są używane w wielu innych projektach.Korzyści z podpisania biblioteki dll o silnej nazwie

Jeśli z mojego poprzedniego pytania wynika, że ​​tak, powinienem podpisać moje biblioteki dll, .snk, którego używam, czy można to wykorzystać w każdej z bibliotek klas w rozwiązaniu? Czy musi to być jeden klucz dla biblioteki klas?

+1

Pierwsze pytanie można znaleźć na stronie http://stackoverflow.com/questions/1197133/anything-wrong-with-not-signing-a-net-assembly i http://stackoverflow.com/questions/721340/strong -sygnał-złożenia – Otiel

Odpowiedz

3

Czasami podpisywanie zespołu jest wymogiem. Jest to prawdą, jeśli chcesz GAC swój zespół lub jeśli zespół podpisu chce odwoływać się do innego zespołu.

Możesz ponownie użyć tego samego pliku .snk, a spowoduje to użycie tego samego tokenu klucza publicznego dla wszystkich złożeń.

1

Jest to niezbędne, jeśli zamierzasz umieścić zestaw w GAC do użycia przez dużą liczbę zestawów.

Jest to korzystne, jeśli zamierzasz udostępnić je użytkownikom, a nie instalować samodzielnie, ponieważ daje to pewność, że naprawdę jest to plik, który powiedziałeś, że je nadajesz, a nie jeden z nich.

Dobrze jest użyć kilku (może tylko jednego) plików SNK na podmiot (indywidualną, zbiorową, grupę otwartego oprogramowania lub firmę), ponieważ jeśli ktoś ci ufa ("ty" to osoba, firma itd.) I dlatego ufają kluczowi publicznemu, który są pewni, że ci się podoba, a potem zaufają następnym razem. Nie chciałbyś za każdym razem podpisywać czeków z innym odręcznym podpisem, prawda?

Powiązane problemy