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.
Ta funkcja pozwala podpisywać pakiety nowym certyfikatem, zachowując doświadczenie aktualizacji aplikacji. Innymi słowy, dzięki temu pakiet może utrwalać swoją starą tożsamość pakietu na platformie bez konieczności podpisywania przy użyciu starego (oryginalnego) certyfikatu. Począwszy od kompilacji Windows Insider Preview 22000, należy utworzyć artefakt, aby pokazać relację między starym certyfikatem a nowym certyfikatem używanym do podpisywania. Poniżej przedstawiono szczegółowe wyjaśnienie sposobu utrwalania tożsamości pakietu w celu zachowania doświadczenia aktualizacji.
Wymagania
- Uzyskaj MakeAppx.exe za pomocą zestawu Windows SDK. Ta funkcja jest obecnie dostępna w zestawie Windows SDK Preview 22000
- Uzyskaj SignTool.exe za pomocą zestawu Windows SDK. Ta funkcja jest obecnie dostępna w zestawie Windows SDK Preview 22000
- Stary certyfikat (CN=Old), który został użyty do podpisania oryginalnego pakietu
- Nowy certyfikat (CN=New), który będzie używany do podpisywania pakietu
Omówienie
Jest to instrukcja krok po kroku dotycząca sposobu podpisywania pakietu przy użyciu nowego certyfikatu przy zachowaniu tożsamości pakietu.
Tworzenie artefaktu
- Napisz artefakt XML zawierający szczegóły starych i nowych wydawców. Nazwij go, jak chcesz, artifact.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns="http://schemas.microsoft.com/appx/publisherbridging/2021" Old="CN=Old" New="CN=New" />
- Napisz plik definicji wykazu (CDF), aby utworzyć wykaz, który będzie używany do podpisywania artefaktu. Nadaj mu dowolną nazwę, artifact.cdf:
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256
[CatalogFiles]
<HASH>artifact.xml=artifact.xml
- Uruchom makecat.exe na tym CDF. Spowoduje to utworzenie pliku określonego w nim
makecat.exe artifact.cdf
- Podpisz katalog używając starego certyfikatu
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat
Na tym etapie wystarczy zachować pliki XML i CAT. Można utworzyć kilka artefaktów, jednak platforma obecnie obsługuje maksymalnie 5.
Uwaga / Notatka
Zalecamy, aby oznaczyć znacznikami czasowymi plik katalogu. Jeśli katalog nie jest oznaczony znacznikiem czasu, artefakt staje się bezużyteczny w momencie, gdy stary certyfikat wygaśnie.
Tworzenie pakietu
- Utwórz plik łączący wydawcy, aby poinformować makeappx.exe, jakich artefaktów użyć. Ten plik jest podobny do pliku mapowania. Nazwij go, jak chcesz, artifacts.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"
Każdy wiersz musi zawierać parę ścieżek plików XML i CAT. Artefakty muszą być uporządkowane w kolejności ich stosowania. Jeśli masz dwa artefakty dla Publisher1-Publisher2>, a drugi dla Publisher2-Publisher3>, musisz najpierw wymienić ten dla Publisher1-Publisher2>
- Wywołaj makeappx.exe ze znacznikiem /pb, aby wskazać plik łączenia wydawcy.
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
- Podpisywanie pakietu przy użyciu nowego certyfikatu
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix
Teraz masz pakiet, który zawiera artefakty przechowywane w nim i został podpisany przy użyciu nowego certyfikatu. Pakiet można wdrożyć tak jak każdy inny pakiet MSIX.
Rozważania
Zalecamy, aby katalog był oznaczony czasem. Aby to zrobić, należy dodać te argumenty w wywołaniu do narzędzia signtool przed ścieżką do katalogu: /td SHA256 /tr
Nadal będzie konieczne zainstalowanie starego certyfikatu (zaleca się z użyciem znacznika czasu) na maszynie, aby platforma mogła zainstalować pakiet podpisany przez nowy certyfikat.
Aby korzystać z tej funkcji, należy to zrobić przed wygaśnięciem starego certyfikatu.
Ta funkcja działa zarówno dla pakietów MSIX, jak i dla wiązek MSIX