Zalecamy używanie programu Visual Studio 2017

ClickOnce i podpis Authenticode

 

Data opublikowania: październik 2016

Aby uzyskać najnowszą dokumentację programu Visual Studio 2017 RC, zobacz stronę z dokumentacją tego programu.

Authenticode jest technologia firmy Microsoft, która wykorzystuje standardowe kryptografii do podpisania kodu aplikacji za pomocą certyfikatów cyfrowych, które weryfikowania autentyczności wydawcy aplikacji. Za pomocą Authenticode dla wdrożenia aplikacji ClickOnce zmniejsza ryzyko koń trojański. Koń trojański to wirusów lub innych szkodliwych program, który złośliwego innej posiadałaby jako wiarygodnego programu pochodzące z ustalonymi, zaufanego źródła. Podpisywanie ClickOnce wdrożeń za pomocą certyfikatu cyfrowego to opcjonalny krok zweryfikować nie zmodyfikowany zestawów i plików.

Poniższe sekcje zawierają opis różnych typów certyfikaty cyfrowe używane w Authenticode, jak certyfikaty są sprawdzane za pomocą certyfikatu urzędów certyfikacji, rola sygnatura czasowa w certyfikatach oraz metod magazynów certyfikatów.

A certyfikatu cyfrowego plik, który zawiera publiczny/prywatny klucza kryptograficznego, wraz z metadanymi opisującymi wydawcy do której certyfikat został wystawiony i agencji, który wystawił certyfikat.

Istnieją różne typy certyfikatów Authenticode. Każdy z nich jest skonfigurowany dla różnych typów podpisywania. Dla ClickOnce aplikacji, musi mieć certyfikat jest ważny do podpisywania kodu Authenticode. Jeśli spróbujesz zarejestrować ClickOnce aplikacji z innego typu certyfikatu, takie jak certyfikat cyfrowy e-mail nie działa. Aby uzyskać więcej informacji, zobacz Wprowadzenie do podpisywania kodu.

Można uzyskać certyfikat podpisywania na trzy sposoby kodu:

  • Zakup od dostawcy certyfikatu.

  • Wyświetlany jest jeden z grupy w organizacji odpowiedzialnych za tworzenie certyfikatów cyfrowych.

  • Generowanie swój własny certyfikat z MakeCert.exe, które są dołączone do Windows Software Development Kit (SDK).

Jak przy użyciu urzędów certyfikacji ułatwia użytkownikom

Zazwyczaj nosi nazwę certyfikatu generowane za pomocą narzędzia MakeCert.exe self cert lub certyfikatu testowego. Tego rodzaju certyfikat działa znacznie tak samo, jak działa pliku .snk w programie .NET Framework. Składa się wyłącznie z publiczny/prywatny pary kluczy kryptograficznych, a nie zawiera zweryfikowania informacji o wydawcy. Certyfikaty self umożliwia wdrożenie ClickOnce aplikacji z wysokim poziomem zaufania w sieci intranet. Jednak gdy te aplikacje są uruchamiane na komputerze klienckim ClickOnce rozpoznanie ich jako pochodzący od nieznanego wydawcy. Domyślnie ClickOnce aplikacje własne certyfikaty podpisane i wdrożone przez Internet nie może wykorzystać zaufanego wdrożenia aplikacji.

Z drugiej strony Jeśli otrzymasz certyfikat od urzędu certyfikacji, takich jak dostawcy certyfikatu lub dział w przedsiębiorstwie certyfikatu zapewnia lepszą ochronę dla użytkowników. Nie tylko identyfikuje wydawcę podpisanego oprogramowania, ale sprawdza tej tożsamości, sprawdzając z urzędem certyfikacji, który podpisał go. Jeśli urząd certyfikacji nie jest główny urząd certyfikacji, Authenticode będą również "łańcucha" powrót do główny urząd, aby sprawdzić, czy urząd certyfikacji jest autoryzowany do wystawiania certyfikatów. Ze względów bezpieczeństwa należy używać certyfikatu wystawionego przez urząd certyfikacji, jeśli jest to możliwe.

Aby uzyskać więcej informacji na temat generowania własne certyfikaty Zobacz Makecert.exe (Narzędzie tworzenia certyfikatów).

Znaczniki czasu

Używany do podpisywania certyfikatów ClickOnce aplikacje wygasają po określonego czasu, zazwyczaj 12 miesięcy. Aby wyeliminować konieczność stale ponowne podpisywanie aplikacji za pomocą nowych certyfikatów ClickOnce obsługuje sygnatury czasowej. Gdy aplikacja jest podpisany z sygnaturą czasową, jego certyfikat będzie akceptowane nawet po wygaśnięciu, pod warunkiem, że znacznik czasu jest nieprawidłowa. Dzięki temu ClickOnce aplikacji za pomocą wygasłe certyfikaty, ale prawidłowe sygnatury czasowe, aby pobrać i uruchomić. Umożliwia także zainstalowane aplikacje z wygasłe certyfikaty na kontynuowanie pobierania i instalowania aktualizacji.

Aby dołączyć sygnatura czasowa serwer aplikacji, serwer znaczników czasu musi być dostępna. Informacje o sposobie wybierz serwer sygnatury czasowej, zobacz Porady: podpisywanie aplikacji i manifestów wdrożenia.

Aktualizowanie wygasłe certyfikaty

We wcześniejszych wersjach programu .NET Framework aktualizowanie aplikacji wygaśnięciu certyfikatu, którego może spowodować tej aplikacji przestanie działać. Aby rozwiązać ten problem, użyj jednej z następujących metod:

  • Aktualizacja programu .NET Framework do wersji 2.0 z dodatkiem SP1 później Windows XP, lub wersji 3.5 lub nowszy na Windows Vista.

  • Odinstaluj tę aplikację, a następnie ponownie zainstaluj nową wersję za pomocą ważnego certyfikatu.

  • Tworzenie zestawu wiersza polecenia, która aktualizuje certyfikatu. Krok po kroku dotyczący informacji o tym procesie można znaleźć w 925521 artykuł pomocy technicznej firmy Microsoft.

Przechowywanie certyfikatów

  • Certyfikaty można przechowywać jako plik pfx w systemie plików lub można je przechowywać wewnątrz kontenera kluczy. Każdy użytkownik w domenie systemu Windows może mieć wiele kontenery kluczy. Domyślnie MakeCert.exe będzie przechowywać certyfikatów osobistych kontenera kluczy, o ile nie określono, że jej należy zapisywać do pliku PFX zamiast tego. Mage.exe i MageUI.exe, Zestaw SDK systemu Windows Narzędzia do tworzenia ClickOnce wdrożeń umożliwiają korzystanie certyfikaty przechowywane w obu sposób.

Wskazówki dotyczące wdrażania ClickOnce
Zabezpieczanie aplikacji ClickOnce
Przegląd wdrażania zaufanych aplikacji
Mage.exe (Narzędzie generowania manifestu i edytowania)

Pokaż: