Identitas persisten MSIX

Fitur ini memungkinkan kemampuan untuk menandatangani paket dengan sertifikat baru sambil tetap mempertahankan pengalaman pembaruan aplikasi. Dengan kata lain, ini memungkinkan paket untuk mempertahankan identitas paket lama mereka di platform tanpa perlu menandatangani dengan sertifikat lama (asli). Mulai Windows Insider Preview Build 22000, artefak perlu dibuat untuk menunjukkan hubungan antara sertifikat lama dan sertifikat baru yang digunakan untuk penandatanganan. Di bawah ini adalah penjelasan langkah demi langkah tentang cara bertahan dengan identitas paket untuk mempertahankan pengalaman pembaruan.

Persyaratan

  • Dapatkan MakeAppx.exe melalui Windows SDK. Fitur ini saat ini tersedia di Pratinjau Windows SDK 22000
  • Dapatkan SignTool.exe melalui Windows SDK. Fitur ini saat ini tersedia di Pratinjau Windows SDK 22000
  • Sertifikat lama (CN=Lama) yang digunakan untuk menandatangani paket asli
  • Sertifikat baru (CN=Baru) yang akan digunakan untuk menandatangani paket

Berjalan melalui

Ini adalah instruksi langkah demi langkah tentang cara menandatangani paket Anda dengan sertifikat baru sambil mempertahankan identitas paket.

Membuat artefak

  1. Tulis artefak XML yang merinci penerbit lama dan baru. Beri nama apa pun yang Anda suka, artifact.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns="http://schemas.microsoft.com/appx/publisherbridging/2021" Old="CN=Old" New="CN=New" />
  1. Tulis File Definisi Katalog (CDF) untuk membuat katalog yang akan digunakan untuk menandatangani artefak. Beri nama apa pun yang Anda suka, artifact.cdf:
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256

[CatalogFiles]
<HASH>artifact.xml=artifact.xml
  1. Jalankan makecat.exe pada CDF ini. Ini akan membuat file yang ditentukan di dalamnya
makecat.exe artifact.cdf
  1. Menandatangani katalog menggunakan sertifikat lama
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat

Pada titik ini, Anda hanya perlu menyimpan file XML dan CAT setelah ini. Anda dapat membuat beberapa artefak, namun platform saat ini mendukung hingga 5.

Catatan

Sebaiknya tanda waktu file katalog Anda. Jika katalog tidak diberi tanda waktu, artefak menjadi tidak berguna saat sertifikat lama kedaluwarsa.

Buat paket

  1. Buat file bridging penerbit untuk memberi tahu makeappx.exe artefak apa yang akan digunakan. File ini seperti file pemetaan. Beri nama apa pun yang Anda suka, artefak.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"

Setiap baris harus berisi sepasang jalur file XML dan CAT. Artefak harus diurutkan saat diterapkan. Jika Anda memiliki dua artefak untuk masuk publisher1-Publisher2>, dan satu lagi untuk Publisher2-Publisher3>, Anda harus mencantumkan terlebih dahulu yang untuk Publisher1-Publisher2>

  1. Panggil makeappx.exe dengan bendera /pb untuk menunjuk ke file bridging penerbit:
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
  1. Menandatangani paket Anda menggunakan sertifikat baru
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix

Sekarang Anda memiliki paket yang memiliki artefak yang disimpan di dalamnya dan telah ditandatangani dengan sertifikat baru. Anda dapat menyebarkan paket seperti paket MSIX lainnya.

Pertimbangan

  • Kami menyarankan agar katalog harus diberi tanda waktu. Untuk melakukan ini, Anda perlu menambahkan argumen ini dalam panggilan ke signtool sebelum jalur ke katalog: /td SHA256 /tr

  • Anda masih perlu menginstal sertifikat lama (disarankan dengan tanda waktu) pada komputer untuk platform guna menginstal paket yang ditandatangani oleh sertifikat baru.

  • Untuk memanfaatkan fitur ini, Anda harus melakukan ini sebelum sertifikat lama kedaluwarsa.

  • Fitur ini berfungsi untuk paket MSIX dan Bundel MSIX