Udostępnij za pośrednictwem


Podpisywanie manifestów wdrożenia i aplikacji

Jeśli chcesz opublikować aplikację przy użyciu wdrożenia technologii ClickOnce, manifesty aplikacji i wdrożenia muszą być podpisane przy użyciu pary kluczy publicznych/prywatnych i podpisane przy użyciu technologii Authenticode. Manifesty można podpisać przy użyciu certyfikatu z magazynu certyfikatów systemu Windows lub pliku klucza.

Informacje zawarte w tym artykule dotyczą tylko wtedy, gdy używasz programu .NET Framework 4.8.1 lub starszego. Jeśli używasz platformy .NET 5 lub nowszej, wykonaj kroki opisane w artykule Deploy a .NET Windows desktop application using ClickOnce (Wdrażanie aplikacji klasycznej .NET dla systemu Windows przy użyciu technologii ClickOnce).

Aby uzyskać więcej informacji na temat wdrażania technologii ClickOnce, zobacz Zabezpieczenia i wdrażanie technologii ClickOnce.

Podpisywanie manifestów Technologii ClickOnce jest opcjonalne dla aplikacji opartych na .exe. Aby uzyskać więcej informacji, zobacz sekcję "Generowanie niepodpisanych manifestów" tego dokumentu.

Aby uzyskać informacje na temat tworzenia plików kluczy, zobacz How to: Create a public-private key pair (Instrukcje: tworzenie pary kluczy publicznych-prywatnych).

Uwaga

Program Visual Studio obsługuje tylko pliki kluczy wymiany informacji osobistych (PFX), które mają rozszerzenie pfx . Można jednak wybrać inne typy certyfikatów z magazynu certyfikatów systemu Windows bieżącego użytkownika, klikając pozycję Wybierz ze sklepu na stronie Podpisywanie właściwości projektu.

Podpisywanie przy użyciu certyfikatu

Aby użyć tej metody, musisz mieć certyfikat podpisany przez urząd certyfikacji. Certyfikaty są wystawiane przez dostawców usług certyfikacji innych firm lub przez autoryzowane organizacje w przedsiębiorstwie.

  1. Przejdź do okna właściwości projektu (kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań i wybierz polecenie Właściwości). Na karcie Podpisywanie zaznacz pole wyboru Podpisz manifesty ClickOnce.

  2. Kliknij przycisk Wybierz ze sklepu.

    Zostanie wyświetlone okno dialogowe Wybieranie certyfikatu i wyświetli zawartość magazynu certyfikatów systemu Windows.

    Napiwek

    Jeśli klikniesz przycisk Kliknij tutaj, aby wyświetlić właściwości certyfikatu, zostanie wyświetlone okno dialogowe Szczegóły certyfikatu. To okno dialogowe zawiera szczegółowe informacje o certyfikacie i dodatkowe opcje. Kliknij pozycję Certyfikaty, aby wyświetlić dodatkowe informacje pomocy.

  3. Wybierz certyfikat, którego chcesz użyć do podpisania manifestów.

    Napiwek

    Jeśli w magazynie nie ma żadnych certyfikatów, nadal możesz podpisać się przy użyciu certyfikatu testowego.

  4. Ponadto można określić adres serwera sygnatury czasowej w polu tekstowym Adres URL serwera sygnatury czasowej. Jest to serwer, który udostępnia sygnaturę czasową określającą, kiedy manifest został podpisany. Zazwyczaj jest on dostarczany przez tę samą firmę inną, która oferuje certyfikaty podpisane przez urząd certyfikacji.

Podpisywanie przy użyciu istniejącego pliku klucza

  1. Na stronie Podpisywanie zaznacz pole wyboru Podpisz manifesty ClickOnce.

  2. Kliknij przycisk Wybierz z pliku.

    Zostanie wyświetlone okno dialogowe Wybieranie pliku .

  3. W oknie dialogowym Wybieranie pliku przejdź do lokalizacji pliku klucza (pfx), którego chcesz użyć, a następnie kliknij przycisk Otwórz.

    Uwaga

    Ta opcja obsługuje tylko pliki, które mają rozszerzenie pfx . Jeśli masz plik klucza lub certyfikat w innym formacie, zapisz go w magazynie certyfikatów systemu Windows i wybierz certyfikat opisany w poprzedniej procedurze. Cel wybranego certyfikatu powinien obejmować podpisywanie kodu.

    Zostanie wyświetlone okno dialogowe Wprowadzanie hasła do otwierania pliku . (Jeśli plik PFX jest już przechowywany w magazynie certyfikatów systemu Windows lub nie jest chroniony hasłem, nie zostanie wyświetlony monit o wprowadzenie hasła).

  4. Wprowadź hasło, aby uzyskać dostęp do pliku klucza, a następnie wybierz Enter.

  5. Wybierz pozycję Więcej szczegółów... aby wyświetlić właściwości certyfikatu. Funkcja ClickOnce wyświetla wartość pola Podmiot jako wydawcę, gdy wyświetla certyfikat podczas instalowania aplikacji przez użytkownika. Oto przykład tego, co użytkownik widzi po zainstalowaniu aplikacji ClickOnce:

    Zrzut ekranu przedstawiający certyfikat wyświetlany w czasie instalacji aplikacji.

Uwaga

Plik PFX nie może zawierać informacji o łańcuchu certyfikatów. W przeciwnym razie wystąpi następujący błąd importu: Nie można odnaleźć certyfikatu i klucza prywatnego do odszyfrowywania. Aby usunąć informacje o łańcuchu certyfikatów, możesz użyć narzędzia Certmgr.msc i wyłączyć opcję Dołącz wszystkie certyfikaty podczas eksportowania pliku *.pfx.

Podpisywanie przy użyciu certyfikatu testowego

Certyfikaty testowe nie są podpisane przez urząd certyfikacji i powinny być używane tylko do celów testowych. Aby uzyskać szczegółowe informacje na temat certyfikatów testowych, zobacz Jak korzystanie z urzędów certyfikatów pomaga użytkownikom.

  1. Na stronie Podpisywanie zaznacz pole wyboru Podpisz manifesty ClickOnce.

  2. Aby utworzyć nowy certyfikat do testowania, kliknij przycisk Utwórz certyfikat testowy.

  3. W oknie dialogowym Tworzenie certyfikatu testowego wprowadź hasło ułatwiające zabezpieczenie certyfikatu testowego.

Uwaga

Pamiętaj, aby wybrać algorytm sha256RSA jako algorytm podpisu, chyba że jest przeznaczona dla platformy .NET 2.0.

Generowanie niepodpisanych manifestów

Podpisywanie manifestów ClickOnce jest opcjonalne dla .exeaplikacji opartych na aplikacjach. Poniższe procedury pokazują, jak wygenerować niepodpisane manifesty ClickOnce.

Ważne

Manifesty niepodpisane mogą uprościć programowanie i testowanie aplikacji. Niepodpisane manifesty powodują jednak znaczne zagrożenia bezpieczeństwa w środowisku produkcyjnym. Rozważ użycie manifestów niepodpisanych tylko wtedy, gdy aplikacja ClickOnce działa na komputerach w intranecie, który jest całkowicie odizolowany od Internetu lub innych źródeł złośliwego kodu.

Domyślnie funkcja ClickOnce automatycznie generuje podpisane manifesty, chyba że co najmniej jeden plik zostanie wykluczony z wygenerowanego skrótu. Innymi słowy opublikowanie aplikacji powoduje zalogowanie manifestów, jeśli wszystkie pliki są uwzględnione w skrótzie, nawet jeśli pole wyboru Podpisz manifesty ClickOnce jest czyszczone.

Aby wygenerować niepodpisane manifesty i dołączyć wszystkie pliki do wygenerowanego skrótu

Aby wygenerować niepodpisane manifesty zawierające wszystkie pliki w skrótzie, należy najpierw opublikować aplikację wraz z podpisanymi manifestami. W związku z tym najpierw podpisz manifesty ClickOnce, wykonując jedną z poprzednich procedur, a następnie publikując aplikację.

  1. Na karcie Podpisywanie wyczyść pole wyboru Podpisz manifesty ClickOnce.

  2. Na karcie Publikowanie zresetuj wersję publikowania, aby dostępna było tylko jedna wersja aplikacji. Wyczyść pole wyboru Automatycznie zwiększaj wersję przy użyciu każdej publikacji. Domyślnie program Visual Studio automatycznie zwiększa numer wersji publikowania za każdym razem, gdy publikujesz aplikację. Aby uzyskać więcej informacji, zobacz How to: Set the ClickOnce publish version (Instrukcje: ustawianie wersji publikowania technologii ClickOnce).

  3. Opublikuj aplikację. Program Visual Studio informuje, że aplikacja została podpisana przy użyciu innego klucza niż istniejąca aplikacja na serwerze i, czy chcesz ją zastąpić. Wybierz pozycję Tak.

Aby wygenerować niepodpisane manifesty i wykluczyć jeden lub więcej plików z wygenerowanego skrótu

  1. Na stronie Podpisywanie wyczyść pole wyboru Podpisz manifesty ClickOnce.

  2. Na karcie Publikowanie wybierz przycisk Pliki aplikacji, aby otworzyć okno dialogowe Pliki aplikacji, a następnie ustaw opcję Wyklucz skrót dla plików, które mają zostać wykluczone z wygenerowanego skrótu.

    Uwaga

    Wyłączenie pliku z skrótu powoduje skonfigurowanie technologii ClickOnce w celu wyłączenia automatycznego podpisywania manifestów, dlatego nie trzeba najpierw publikować z podpisanymi manifestami, jak pokazano w poprzedniej procedurze.

  3. Opublikuj aplikację.