Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podpisywanie pakietu aplikacji jest wymaganym krokiem procesu tworzenia pakietu aplikacji systemu Windows 10, który można wdrożyć. System Windows 10 wymaga podpisania wszystkich aplikacji przy użyciu prawidłowego certyfikatu podpisywania kodu.
Aby pomyślnie zainstalować aplikację systemu Windows 10, pakiet musi być nie tylko podpisany, ale również zaufany na urządzeniu. Oznacza to, że certyfikat musi być połączony z jednym z zaufanych certyfikatów głównych na urządzeniu. Domyślnie system Windows 10 ufa certyfikatom z większości urzędów certyfikacji, które zapewniają certyfikaty podpisywania kodu.
Ponadto, jeśli tworzysz pakiet MSIX, nie ma potrzeby podpisywania wszystkich pakietów w pakiecie indywidualnie. Tylko paczka musi być podpisana, a wszystkie pakiety wewnątrz są podpisywane rekursywnie.
| Temat | Opis |
|---|---|
| Wymagania wstępne dotyczące podpisywania | W tej sekcji omówiono wymagania wstępne wymagane do podpisania pakietu aplikacji systemu Windows 10. |
| Korzystanie z narzędzia SignTool | W tej sekcji omówiono sposób używania narzędzia SignTool z zestawu SDK systemu Windows 10 do podpisywania pakietu aplikacji. |
| Podpisz pakiet MSIX za pomocą podpisu Device Guard | Ta sekcja omawia, jak podpisać swoją aplikację przy użyciu podpisywania Device Guard. |
| Tworzenie niepodpisanych pakietów na potrzeby testowania | W tej sekcji omówiono sposób tworzenia niepodpisanego pakietu msix. |
Znaczniki czasu
Zdecydowanie zaleca się użycie znacznika czasu podczas podpisywania aplikacji przy użyciu certyfikatu. Znacznik czasu zachowuje podpis umożliwiający akceptowanie pakietu aplikacji przez platformę wdrażania aplikacji nawet po wygaśnięciu certyfikatu. W czasie inspekcji pakietu sygnatura czasowa umożliwia zweryfikowanie podpisu pakietu w odniesieniu do czasu jego podpisania. Dzięki temu pakiety mogą być akceptowane nawet po tym, jak certyfikat nie jest już ważny. Pakiety, które nie są opatrzone znacznikiem czasu, będą oceniane w odniesieniu do bieżącego czasu i jeśli certyfikat nie jest już ważny, system Windows nie zaakceptuje pakietu.
Poniżej przedstawiono różne scenariusze dotyczące podpisywania aplikacji z/bez oznaczania czasem:
| Scenariusz | Aplikacja jest podpisana bez znacznika czasu | Aplikacja jest podpisana przy użyciu znacznika czasu |
|---|---|---|
| Certyfikat jest prawidłowy | Aplikacja zostanie zainstalowana | Aplikacja zostanie zainstalowana |
| Certyfikat jest nieprawidłowy (wygasły) | Instalacja aplikacji nie powiedzie się | Aplikacja zostanie zainstalowana, ponieważ autentyczność certyfikatu została zweryfikowana podczas podpisywania przez autorytet stemplowania czasowego. |
Uwaga / Notatka
Jeśli aplikacja została pomyślnie zainstalowana na urządzeniu, będzie ona nadal działać nawet po wygaśnięciu certyfikatu niezależnie od tego, czy jest to sygnatura czasowa, czy nie.
Wymuszanie integralności pakietów
Oprócz zapewnienia, że na urządzeniu są zainstalowane tylko zaufane aplikacje, dodatkową zaletą podpisywania pakietu MSIX jest umożliwienie systemowi Windows wymuszania integralności pakietu i jego zawartości po wdrożeniu na urządzeniu. Łącząc się z AppxBlockMap.xml i AppxSignature.p7x w podpisanym pakiecie, system Windows może przeprowadzić sprawdzanie poprawności integralności pakietu i jego zawartości w czasie wykonywania oraz podczas skanowania w usłudze Windows Defender. Jeśli pakiet zostanie uznany za naruszony, system Windows zablokuje uruchamianie aplikacji i rozpocznie proces naprawczy, aby pakiet został naprawiony lub zainstalowany ponownie. W przypadku pakietów, które nie są dystrybuowane za pośrednictwem Sklepu Microsoft, integralność pakietu jest wymuszana, jeśli pakiet deklaruje element uap10:PackageIntegrity i jest wdrażany w kompilacjach systemu Windows 2004 i nowszych. Poniżej znajduje się przykładowa deklaracja wymuszania integralności pakietu w AppxManifest.xml:
<Package ...
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
IgnorableNamespaces="uap10">
...
<Properties>
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on" />
</uap10:PackageIntegrity>
</Properties>
...
</Package>
Tryb urządzenia
System Windows 10 umożliwia użytkownikom wybranie trybu, w którym ma być uruchamiane urządzenie w aplikacji Ustawienia. Tryby to aplikacje ze sklepu Microsoft Store, aplikacje pobierania bezpośredniego i tryb dewelopera.
Aplikacje ze Sklepu Microsoft są najbezpieczniejsze, ponieważ zezwalają tylko na instalowanie aplikacji ze sklepu Microsoft Store. Aplikacje w sklepie Microsoft Store przechodzą przez proces certyfikacji, aby upewnić się, że aplikacje są bezpieczne do użycia.
Aplikacje ładowane bezpośrednio i tryb dewelopera są bardziej permisywne dla aplikacji podpisanych przez inne certyfikaty, o ile te certyfikaty są zaufane i łączą je z jednym z zaufanych katalogów głównych na urządzeniu. Wybierz tryb dewelopera tylko wtedy, gdy jesteś deweloperem i kompilujesz lub debugujesz aplikacje systemu Windows 10. Więcej informacji na temat trybu dewelopera i dostępnych w nim informacji można znaleźć tutaj.
Uwaga / Notatka
Począwszy od systemu Windows 10 w wersji 2004, opcja Sideload jest domyślnie włączona. W związku z tym tryb dewelopera jest teraz przełącznikiem. Przedsiębiorstwa nadal mogą wyłączyć ładowanie bezpośrednie poprzez politykę.