Udostępnij za pośrednictwem


Konfigurowanie zaufanych wydawców ClickOnce

 

Brian Noyes
Microsoft MVP

Kwiecień 2005 r.

Dotyczy:
   Visual Studio 2005

Krótki opis: Zabezpieczenia Technologii ClickOnce umożliwiają korzystanie z zabezpieczeń środowiska uruchomieniowego zapewnianych przez zabezpieczenia dostępu do kodu, jednocześnie umożliwiając dynamiczne określenie uprawnień dla określonej aplikacji w momencie wdrażania aplikacji za pośrednictwem technologii ClickOnce. (11 wydrukowanych stron)

Zawartość

Zaufani wydawcy i podpisywanie aplikacji ClickOnce 101
Kontrola zabezpieczeń ClickOnce podczas uruchamiania
Przechodzenie do strefy
Zaufani wydawcy ClickOnce w akcji
Automatyzowanie procesu
Podsumowanie
Informacje o autorze

Zabezpieczenia ClickOnce umożliwiają automatyczne podniesienie uprawnień dla aplikacji wdrożonej za pomocą technologii ClickOnce na podstawie monitowania użytkownika lub zaufanych wydawców. Podczas wdrażania aplikacji za pomocą technologii ClickOnce operacje wykonywane przez aplikację lub zasoby, do których próbuje uzyskać dostęp, mogą wymagać uprawnień zabezpieczeń dostępu do kodu większego niż to, co zostanie przyznane na podstawie bieżących zasad. Jeśli tak jest, domyślnie środowisko uruchomieniowe .NET Framework na maszynie klienckiej wyświetli monit użytkownika i zapyta go, czy chce zainstalować aplikację i przyznać mu podwyższony poziom zaufania.

W środowisku przedsiębiorstwa, w którym administratorzy są właścicielami pulpitu i kontroli konfiguracji nad każdym pulpitem, jest ogólnie lepiej unikać monitowania użytkownika o decyzje dotyczące zaufania. Większość użytkowników nie ma wyrafinowania, aby zrozumieć implikacje swoich decyzji dotyczących zaufania i nie wiedzą, kiedy powinni lub nie powinni udzielać uprawnień aplikacji. Funkcja ClickOnce zapewnia kontrolę nad tym problemem, umożliwiając aplikacjom ClickOnce automatyczne podnoszenie uprawnień bez monitowania użytkownika — jeśli manifesty aplikacji zostały podpisane przez zaufanego wydawcę.

Zaufani wydawcy i podpisywanie aplikacji ClickOnce 101

Co więc stanowi zaufanego wydawcę? Najpierw należy zawsze podpisać manifesty wdrożenia i aplikacji ClickOnce przy użyciu certyfikatu wydawcy. Następnie certyfikat używany do podpisywania aplikacji ClickOnce musi być skonfigurowany w magazynie certyfikatów Zaufanych wydawców na komputerze użytkownika. Na koniec urząd certyfikacji, który wystawił certyfikat, musi być skonfigurowany w magazynie certyfikatów zaufanego głównego urzędu certyfikacji na komputerze użytkownika. Odwrócę warstwy każdego z tych trzech sztuk z kolei.

Po pierwszym utworzeniu aplikacji Windows Forms w programie Visual Studio 2005 i opublikowaniu jej za pomocą technologii ClickOnce program Visual Studio automatycznie wygeneruje certyfikat wydawcy i użyje go do podpisania aplikacji po jej opublikowaniu. W takim przypadku generuje osobisty plik certyfikatu (plik pfx) i dodaje go do projektu programu Visual Studio z domyślną konwencją <nazewnictwa plików ProjectName>_TemporaryKey.pfx. Program Visual Studio doda również ten certyfikat do osobistego magazynu certyfikatów i włączy ustawienia projektu, które ustawiają ten certyfikat jako używany do podpisywania manifestów aplikacji ClickOnce. Ponieważ to wszystko dzieje się automatycznie, być może nawet nie wiadomo, że występuje.

Uwaga Wersja beta 1 umożliwia silną nazwę manifestów przy użyciu pliku silnego klucza nazwy (plik snk według konwencji). Wersja Beta 2 i RTM nie obsługują tego programu i musisz podpisać manifesty przy użyciu certyfikatu wydawcy, zazwyczaj pliku pfx, który może lub nie jest chroniony hasłem.

Proces podpisywania używa kluczy publicznych i prywatnych w certyfikacie, aby zastosować podpis cyfrowy XML do plików manifestu XML wdrożenia i aplikacji wygenerowanych dla aplikacji ClickOnce. Takie podejście do podpisu cyfrowego gwarantuje, że wiesz, kto podpisał wdrożenie danej aplikacji ClickOnce na podstawie klucza publicznego osadzonego w pliku manifestu, i że plik nie został naruszony lub jego zawartość została zmieniona w żaden sposób, ponieważ została podpisana. Uniemożliwia to złośliwemu osobie dodawanie niezamierzonych ustawień lub plików do aplikacji ClickOnce po jego opublikowaniu przez zaufany urząd.

Certyfikaty wydawcy są dostępne w dwóch wersjach — generowanych samodzielnie lub zweryfikowanych przez inną firmę (na przykład przez Verisign). Certyfikat jest wystawiany przez urząd certyfikacji, który sam ma certyfikat, który identyfikuje go jako urząd wystawiający certyfikaty. Certyfikat wygenerowany samodzielnie jest tworzony do celów programistycznych, a ty w zasadzie stajesz się zarówno urzędem certyfikacji, jak i wydawcą, który reprezentuje certyfikat. Aby służyć do celów produkcyjnych, należy użyć certyfikatu wygenerowanego przez inną firmę, taką jak Verisign lub urząd wewnętrzny, taki jak administrator domeny w środowisku przedsiębiorstwa.

Aby być uważany za zaufanego wydawcę, certyfikat wydawcy musi być zainstalowany w magazynie certyfikatów Zaufanych wydawców na komputerze użytkownika, a urząd wystawiający certyfikat wydawcy musi mieć własny certyfikat zainstalowany w magazynie certyfikatów zaufanego głównego urzędu certyfikacji. Za pomocą konsoli zarządzania certyfikatami certmgr.exe w systemie Windows można zarządzać i instalować certyfikaty w magazynach na komputerze, a także zainstalować je przy użyciu programu Visual Studio 2005. W dalszej części tego artykułu przeprowadzim Cię przez proces korzystania z programu Visual Studio.

Kontrola zabezpieczeń ClickOnce podczas uruchamiania

Po pierwszym uruchomieniu aplikacji ClickOnce na pulpicie użytkownika środowisko uruchomieniowe .NET Framework najpierw sprawdzi, czy manifesty aplikacji nie zostały naruszone, ponieważ zostały podpisane przy użyciu dowolnego certyfikatu wydawcy do podpisywania. Jeśli przejdą to sprawdzenie, środowisko uruchomieniowe przyjrzy się magazynowi zaufanego głównego urzędu certyfikacji i sprawdź, czy certyfikat wystawcy certyfikatu wydawcy jest zainstalowany w tym magazynie. Następnie sprawdzi, kim jest wydawca certyfikatu, i sprawdź, czy jego certyfikat znajduje się w magazynie Zaufanych wydawców. Jeśli te dwie rzeczy są prawdziwe, domyślnie użytkownik nie zostanie wyświetlony monit, a aplikacja zostanie udzielona niezależnie od uprawnień określonych w pliku manifestu aplikacji. Zaufanie aplikacji dla tej aplikacji zostanie dodane do .NET Framework zasad zabezpieczeń użytkownika, aplikacja zostanie uruchomiona i uruchomiona, a jeśli uprawnienia zostały poprawnie określone w manifeście aplikacji, użytkownik nigdy nie powinien zobaczyć monitu lub wyjątku zabezpieczeń.

Jeśli zarówno wystawca certyfikatu, jak i wydawca reprezentowany przez certyfikat są nieznane na maszynie klienckiej (na podstawie certyfikatów zainstalowanych w magazynach), użytkownik zostanie wyświetlony z wyświetlonym na rysunku 1 oknie dialogowym i może zdecydować, czy zezwolić aplikacji na uzyskanie wymaganych uprawnień, w zależności od strefy, z której jest uruchamiana aplikacja. Jeśli klikną link Więcej informacji ... w dolnej części strony, zostanie wyświetlone okno dialogowe przedstawione na rysunku 2, co daje użytkownikowi nieco więcej szczegółów na temat tego, co ma się zdarzyć, jeśli kliknie przycisk Zainstaluj , ale w ogóle prawdopodobnie po prostu przestraszy je — podobnie jak większość okien dialogowych zabezpieczeń — ponieważ daje bardzo mało informacji na temat tego, co naprawdę się dzieje.

Rysunek 1. Niezaufany wydawca i monit użytkownika urzędu certyfikacji

Rysunek 2. Okno dialogowe Więcej informacji

Jeśli certyfikat używany do podpisywania manifestów aplikacji jest generowany przez zaufany główny urząd certyfikacji, ale określony certyfikat wydawcy nie znajduje się w zaufanym magazynie wydawców, użytkownik nadal będzie monitowany, ale z nieco bardziej przyjazny monit niż wtedy, gdy wystawca certyfikatu wydawcy jest nieznany (zobacz Rysunek 3). Bardziej przyjazny monit będzie wskazywać organizację wydawcy, ponieważ w przypadku technologii certyfikatów Authenticode i zaufanych katalogów głównych można przynajmniej ufać, że organizacja publikowania jest tym, kim mówią, że są one zgodne z wystawcą certyfikatu. Jeśli ufasz urzędowi wystawiającemu, możesz ufać, że wydawca nie udaje kogoś, kim nie jest.

Rysunek 3. Monit użytkownika zaufanego urzędu certyfikacji

Po utworzeniu zaufania aplikacji dla danej aplikacji z powodu automatycznej konfiguracji opartej na zaufanym certyfikacie wydawcy lub na podstawie monitu użytkownika i umożliwienia instalacji aplikacji kolejne wersje tej samej aplikacji nie będą musiały ponownie monitować, chyba że żądane uprawnienia zabezpieczeń zostaną zmienione.

Przechodzenie do strefy

Istnieją pięć wbudowanych stref zabezpieczeń, które są używane w usłudze CAS do podejmowania decyzji o zaufaniu opartym na źródłach: MyComputer, LocalIntranet, Internet, TrustedSites i Niezaufanewity. Te same strefy służą do określania, jakiego rodzaju monity powinny być dozwolone dla użytkowników w odniesieniu do podnoszenie uprawnień aplikacji ClickOnce. Każda strefa odpowiada kontekstowi, z którego jest uruchamiana aplikacja ClickOnce, która jest określana przez pełny adres ścieżki użyty do manifestu wdrożenia (pliku aplikacji) dla aplikacji ClickOnce.

Tabela 1 przedstawia kilka przykładów stref uruchamiania na podstawie adresu używanego do manifestu wdrożenia. W zasadzie jest to, że adres jest lokalną ścieżką pliku do dysku niesieciągowego, aplikacja zostanie uruchomiona w strefie MyComputer. Jeśli adres używa protokołu sieciowego (udziału plików HTTP lub UNC), a część serwera adresu jest nazwą pojedynczej maszyny, zostanie obliczona, aby pochodzić ze strefy LocalIntranet. Jeśli część adresu nazwa serwera zawiera kropki, jest on oceniany jako pochodzący ze strefy internetowej. Witryny TrustedSites i NiezaufaneWitryny zależą od poszczególnych adresów skonfigurowanych jako część ustawień zabezpieczeń zaufanych witryn i witryn z ograniczeniami programu Internet Explorer.

Tabela 1. Przykłady stref uruchamiania ClickOnce

Adres uruchamiania Strefa uruchamiania
http://deploymentserver/MyClickOnceApp/MyClickOnceApp.application Localintranet
\\deploymentserver\MyClickOnceApp\MyClickOnceApp.application Localintranet
http://some.dotted.servername/Apps/MyClickOnceApp.application Internet
\\127.0.0.1\sharefolder\MyClickOnceApp.application Internet
C:\inetpub\wwwroot\MyClickOnceApp\MyClickOnceApp.application Mycomputer

Domyślnie dla aplikacji MyComputer, LocalIntranet i TrustedSites skonfigurowano opcję zezwalania użytkownikowi na podniesienie uprawnień zabezpieczeń aplikacji ClickOnce, jeśli ta aplikacja nie jest podpisana przez zaufanego wydawcę. Domyślna strefa internetowa polega na tym, że jeśli manifest aplikacji jest podpisany przez certyfikat wydawcy wystawiony przez zaufany urząd główny, aplikacja może monitować użytkownika o podniesione uprawnienia w razie potrzeby (oznacza to, że certyfikat wydawcy nie jest również zainstalowany w magazynie Zaufanych wydawców). Jeśli uruchomiona aplikacja interne nie jest podpisana przy użyciu certyfikatu wystawionego przez zaufany urząd główny, aplikacja nie będzie mogła działać. Domyślna strefa NiezaufaneWitryny polega na tym, że jeśli aplikacja nie jest podpisana przez zaufany certyfikat wydawcy wystawiony przez zaufany urząd główny, aplikacja nie będzie mogła działać (innymi słowy, żaden monit użytkownika nie jest dozwolony).

Te ustawienia można zmodyfikować w razie potrzeby dla przedsiębiorstwa, konfigurując niejasny klucz rejestru, który zostanie sprawdzony przez ClickOnce w celu określenia zasad monitowania użytkownika. Każde z opisanych powyżej zachowań odpowiada wartości, którą można ustawić dla każdej ze stref za pomocą tego klucza rejestru.

Klucz rejestru \HKLM\Software\Microsoft\. NETFramework\Security\TrustManager\PromptingLevel to ten, który umożliwia dostosowanie zachowania monitowania. Ten klucz nie jest domyślnie obecny po instalacji .NET Framework 2.0, dlatego należy utworzyć go ręcznie, jeśli chcesz dostosować te ustawienia.

W tym kluczu rejestru można dodać dowolną z 5 wartości ciągów o nazwie MyComputer, LocalIntranet, Internet, TrustedSites i UntrustedSites. Odpowiadają one ich strefom. Jako wartość można ustawić jeden z trzech ciągów: Włączone, Wyłączone lub AuthenticodeRequired. Włączone jest ustawieniem domyślnym dla stref MyComputer, LocalIntranet i TrustedSites. Wartość domyślna Internetu to AuthenticodeRequired, a wartość domyślna NiezaufanychWitryny to Wyłączone. Tabela 2 przedstawia wartości, które można ustawić dla każdej strefy i ich efektów. Rysunek 4 przedstawia wartości klucza rejestru ustawione na ich domyślne zachowanie, ale należy pamiętać, że ten klucz nie istnieje domyślnie, więc zazwyczaj utworzysz je tylko wtedy, gdy zamierzasz ustawić je na inne wartości niż wartości domyślne.

Tabela 2. Monitowanie Efekty uruchamiania wartości klucza rejestru w usłudzeLevel

Wartość Niezauwierzony urząd główny Certyfikat wystawiony przez zaufany urząd główny Zaufany urząd główny i zaufany certyfikat wydawcy
Enabled (Włączony) Nieprzyjemny monit użytkownika Przyjazny monit użytkownika Brak monitu; uprawnienia przyznane i uruchamianie aplikacji
AuthenticodeRequired Wyłączono aplikację Przyjazny monit użytkownika Brak monitu; uprawnienia przyznane i uruchamianie aplikacji
Disabled Wyłączono aplikację Wyłączono aplikację Brak monitu; uprawnienia przyznane i uruchamianie aplikacji

Rysunek 4. Monitowanie użytkownika o wartości klucza rejestru

Zaufani wydawcy ClickOnce w akcji

Aby to przetestować, należy skonfigurować certyfikaty na komputerze deweloperskim. Pierwszym krokiem jest posiadanie certyfikatu używanego do podpisywania aplikacji ClickOnce i konfigurowania tego certyfikatu w żądanych magazynach certyfikatów na komputerze deweloperskim lub testowym. Jak wspomniano wcześniej, program Visual Studio wygeneruje nowy certyfikat dla każdego projektu ClickOnce, chyba że skonfigurujesz certyfikat do użycia do podpisywania manifestów ClickOnce przed pierwszym opublikowaniem aplikacji. Zalecam wygenerowanie nowego certyfikatu testowego, zapisanie go w znanej lokalizacji, a następnie użycie go do podpisania wszystkich projektów programistycznych ClickOnce, aby nie trzeba było wyrzucać magazynów certyfikatów z kilkoma certyfikatami testowymi. Wygenerowany automatycznie certyfikat nie jest chroniony hasłem i zdecydowanie zalecamy używanie tylko plików certyfikatów chronionych hasłem.

Aby wygenerować nowy plik certyfikatu w programie Visual Studio 2005, który jest chroniony hasłem, przejdź do okna właściwości projektu (kliknij dwukrotnie węzeł Właściwości w Eksplorator rozwiązań lub kliknij prawym przyciskiem myszy węzeł projektu i wybierz polecenie Właściwości z menu kontekstowego). Zaznacz kartę Podpisywanie , zaznacz pole wyboru Podpisz manifesty ClickOnce , a następnie kliknij przycisk Utwórz certyfikat testowy... (zobacz Rysunek 5). Zostanie wyświetlony monit o podanie hasła, a nowy plik pfx o nazwie domyślnej zostanie dodany do projektu. Ten certyfikat zostanie również ustawiony jako certyfikat używany do podpisywania manifestów i zostanie zainstalowany w osobistym magazynie certyfikatów w systemie Windows. Następnie możesz zmienić nazwę pliku, skopiować go do lokalizacji wielokrotnego użytku, a następnie skonfigurować ten certyfikat jako certyfikat dla dowolnej aplikacji, naciskając przycisk Wybierz z pliku... na karcie Podpisywanie .

Rysunek 5. Podpisywanie właściwości projektu

Po utworzeniu certyfikatu i zidentyfikowaniu, który z nich ma być używany do podpisywania manifestów ClickOnce we właściwościach projektu Podpisywanie, możesz opublikować aplikację z programu Visual Studio, a manifesty zostaną podpisane przy użyciu tego certyfikatu. Jeśli masz "prawdziwy" certyfikat wydawcy (czyli verisign jeden lub taki, którego organizacja programowa używa podpisanego przez inny zaufany urząd główny), możesz użyć tego zamiast tego z pliku zgodnie z powyższym opisem lub wskazując certyfikat w osobistym magazynie certyfikatów przy użyciu przycisku Wybierz ze sklepu... we właściwościach projektu Podpisywanie.

Aby zobaczyć, jak uniknąć monitu użytkownika z zaufanym wdrożeniem wydawcy, musisz skonfigurować certyfikat wydawcy na maszynie, na której aplikacja zostanie uruchomiona za pomocą technologii ClickOnce, która jest często maszyną deweloperów do celów próbnych i programistycznych. Jeśli certyfikat został wygenerowany samodzielnie zgodnie z powyższym opisem (lub przy użyciu narzędzia wiersza polecenia makecert.exe dołączonego do programu Visual Studio), musisz dodać ten certyfikat do magazynu zaufanych głównych urzędów certyfikacji. Dzieje się tak, ponieważ jesteś nie tylko wydawcą, ale także wystawcą certyfikatu. Następnie chcesz zainstalować ten sam certyfikat w magazynie Zaufanych wydawców, który jest ostatnim krokiem umożliwiającym uruchamianie aplikacji bez monitowania.

Aby to wszystko było konkretne, przyjrzyjmy się przykładowi liczb. Uruchom nowy projekt aplikacji systemu Windows w programie Visual Studio 2005 i nadaj mu nazwę ClickOnceTrustedPub. Po utworzeniu projektu przejdź do właściwości projektu, klikając dwukrotnie węzeł Właściwości w drzewie Eksplorator rozwiązań w węźle projektu, a następnie wybierz kartę Podpisywanie.

Następnie wybierz pole do podpisania manifestów ClickOnce. Naciśnij przycisk Utwórz certyfikat testowy... i wprowadź hasło dla certyfikatu. Plik, który zostanie utworzony i dodany do projektu, zostanie nazwany ClickOnceTrustedPub_TemporaryKey.pfx. Zmień jego nazwę na devcert.pfx w Eksplorator rozwiązań. To również dobry moment, aby skopiować plik do określonego wspólnego folderu programistycznego na maszynie, aby można było ponownie użyć go w kolejnych projektach i nie trzeba będzie ponownie generować i konfigurować certyfikatów. Podczas tworzenia pliku certyfikatu program Visual Studio również zainstalował go w osobistym magazynie certyfikatów.

Aby dodać ten certyfikat do magazynów zaufanego głównego urzędu certyfikacji i zaufanego wydawcy, kliknij przycisk Więcej szczegółów na karcie Właściwości projektu Podpisywanie. Spowoduje to wyświetlenie okna dialogowego informacji o certyfikacie (zobacz Rysunek 6). Kliknij przycisk Zainstaluj certyfikat... w dolnej części karty Ogólne i zostanie wyświetlony Kreator importu certyfikatów.

Rysunek 6. Okno dialogowe Informacje o certyfikacie

W drugim kroku kreatora wybierz przycisk radiowy , aby umieścić wszystkie certyfikaty w następującym magazynie, a następnie naciśnij przycisk Przeglądaj (zobacz Rysunek 7). Spowoduje to otwarcie okna dialogowego, w którym można wybrać z listy magazynów certyfikatów (zobacz Rysunek 8).

Rysunek 7. Wybór magazynu kreatora certyfikatów

Rysunek 8. Okno dialogowe Wyboru magazynu certyfikatów

Po raz pierwszy w ramach tego procesu wybierz magazyn zaufanych głównych urzędów certyfikacji , kliknij przycisk Dalej, a następnie zakończ w kreatorze. Zostanie wyświetlony monit z pełnym oknem dialogowym ostrzegawczym dotyczącym zagrożeń związanych z instalowaniem certyfikatu urzędu głównego. Przejdź do przodu i kliknij przycisk Tak lub nie będzie można wypróbować zaufanej funkcjonalności wydawcy ClickOnce, ale upewnij się, że rozumiesz ryzyko, że opisuje. Jeśli ktoś inny uzyskał certyfikat, podpisał aplikację z nim, a następnie uruchomił ją na twojej maszynie, system Windows traktuje aplikację jako opublikowaną przez firmę, która została zweryfikowana przez zaufany urząd.

Powtórz opisany proces, zaczynając od przycisku Więcej szczegółów , ale tym razem zainstaluj ten sam certyfikat w magazynie Zaufanych wydawców.

Po wykonaniu tej czynności możesz opublikować aplikację za pomocą technologii ClickOnce. W tym celu wybierz pozycję Publikuj<nazwę projektu> w menu Kompilacja w programie Visual Studio, a następnie kliknij przycisk Zakończ w kreatorze, który zostanie wyświetlony. Spowoduje to skompilowanie aplikacji, opublikowanie jej przy użyciu domyślnych ustawień publikowania technologii ClickOnce i zostanie wyświetlona strona sieci Web, na której można przetestować instalację jako klienta, klikając przycisk Zainstaluj na stronie sieci Web. Po kliknięciu tego przycisku aplikacja powinna zostać pobrana i uruchomiona na pulpicie bez wyświetlania monitu. Domyślne uprawnienia żądane przez aplikację ClickOnce są nieograniczone (pełne zaufanie), a domyślny link przycisku Zainstaluj używa adresu URL strefy LocalIntranet. Jeśli więc powtórzysz ten sam proces bez skonfigurowania zaufanego certyfikatu wydawcy, zostanie wyświetlony monit o wyświetlenie okna dialogowego przedstawionego na rysunku 1.

Automatyzowanie procesu

W środowisku operacyjnym z dużą częścią maszyn użytkowników do konserwacji program Visual Studio nie będzie dostępny na każdym komputerze w celu skonfigurowania certyfikatów wydawcy, dlatego konieczne będzie użycie konsoli zarządzania certyfikatami (certmgr.exe) w systemie Windows. Jeśli po prostu uruchomisz certmgr.exe bez argumentów z wiersza polecenia, zostanie wyświetlone okno programu Microsoft Management Console (MMC), które umożliwi dodawanie lub usuwanie certyfikatów z dowolnego magazynu na komputerze lokalnym. Ale nawet w takim przypadku nie trzeba dotykać każdej maszyny, aby skonfigurować certyfikaty. Proces można również zautomatyzować przy użyciu certmgr.exe z niektórymi parametrami wiersza polecenia.

Najpierw należy wyeksportować publiczną część certyfikatu do pliku certyfikatu (cer) z programu certmgr przy użyciu przycisku Eksportuj :

Rysunek 9. Certmgr.exe eksportowania certyfikatów

Po wykonaniu tej czynności możesz skopiować ten plik certyfikatu na maszynę docelową i uruchomić certmgr.exe w wierszu polecenia. Należy przekazać nazwę pliku wraz z magazynem, aby umieścić go jako parametry wiersza polecenia z odpowiednimi przełącznikami, a certyfikat zostanie zainstalowany na maszynie:

certmgr –add alice.cer –s Root
certmgr –add alice.cer –s TrustedPublisher

Wszystkie te czynności mogą być skryptowe lub dodawane do instalatora niestandardowego za pomocą projektu Instalatora i wdrażania programu Visual Studio (lub innej formy instalatora), a wynikowy pakiet Instalatora Windows (.msi pliku) można dodać do programu uruchamiającego dla aplikacji ClickOnce. Aby uzyskać więcej informacji na temat programu bootstrapper, zobacz artykuł Sean Draine Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation in the October 2004 issue of MSDN Magazine (Używanie programu Visual Studio 2005 Bootstrapper do Kick-Start Instalacji w wydaniu MAGAZYNU MSDN z października 2004 r.).

Podsumowanie

Zabezpieczenia Technologii ClickOnce umożliwiają korzystanie z zabezpieczeń środowiska uruchomieniowego zapewnianych przez zabezpieczenia dostępu do kodu, jednocześnie umożliwiając dynamiczne określenie uprawnień dla określonej aplikacji w momencie wdrażania aplikacji za pośrednictwem technologii ClickOnce. Jednak ta elastyczność wiąże się z ceną — musisz zdecydować, czy zezwolić użytkownikowi na odpowiedzialność za podnoszenie uprawnień aplikacji za pomocą monitowania i czy chcesz, aby ten monit był oparty na tym, skąd pochodzi certyfikat wydawcy. Domyślne zachowanie technologii ClickOnce jest najłatwiejsze do zrozumienia. Aplikacja będzie automatycznie podnosić swoje uprawnienia, ponieważ jest wdrażana z zaufanego wydawcy lub monituje użytkownika o zezwolenie im na podjęcie decyzji o zaufaniu wydawcy. W bardziej kontrolowanych środowiskach możesz ograniczyć monitowanie użytkownika, a w tym artykule opisano, jak to zrobić przy użyciu klucza rejestru PromptingLevel i konfigurowania certyfikatów wydawcy i zaufanych urzędów głównych na komputerze użytkownika. Zrozumienie skutków różnych wartości i zachowania ich z różnymi konfiguracjami magazynu certyfikatów jest ważne, aby prawidłowo korzystać z ochrony zabezpieczeń technologii ClickOnce.

 

Informacje o autorze

Brian Noyes jest MVP firmy Microsoft i dobrze znany mówca, trener, pisarz i konsultant z IDesign, Inc. (www.idesign.net). Przemawia w TechEd US i Malezji, Visual Studio Connections, VSLive!, DevEssentials i innych konferencjach, i jest jednym z najwyżej ocenianych prelegentów w Biurze Prelegentów INETA. Opublikował wiele artykułów dotyczących .NET Framework rozwoju dla magazynu MSDN, Visual Studio Magazine, asp.netPRO, The Server Side .NET, CoDe Magazine, .NET Developer's Journal i innych publikacji. Jego najnowsza książka, Data Binding in Windows Forms 2.0, część Addison-Wesley .NET Development Series, trafi na półki jesienią 2005 roku. Brian zaczął programować, aby pobudzić swój mózg podczas latania F-14 Tomcats w Marynarce Wojennej, stosując swoje umiejętności i zainteresowanie programowaniem symulacji samolotów i avionics, prototypów i aplikacji wsparcia, jednocześnie zachęcając jego nadnercze gruczoły uczęszczające do Top Gun i US Naval Test Pilot School.