MSIX 영구 ID

이 기능을 사용 하면 앱의 업데이트 환경을 계속 유지 하면서 새 인증서로 패키지를 서명할 수 있습니다. 즉, 이전 (원래) 인증서로 서명 하지 않고도 패키지에서 플랫폼의 이전 패키지 id를 유지할 수 있습니다. Windows Insider Preview 빌드 22000부터 이전 인증서와 서명에 사용 되는 새 인증서 간의 관계를 표시 하는 아티팩트를 만들어야 합니다. 다음은 업데이트 환경을 유지 하기 위해 패키지 id를 유지 하는 방법에 대 한 단계별 설명입니다.

요구 사항

  • Windows SDK를 통해 MakeAppx.exe를 가져옵니다. 이 기능은 현재 Windows SDK Preview 22000에서 사용할 수 있습니다.
  • Windows SDK를 통해 SignTool.exe를 가져옵니다. 이 기능은 현재 Windows SDK Preview 22000에서 사용할 수 있습니다.
  • 원본 패키지에 서명 하는 데 사용 된 이전 인증서 (CN = Old)
  • 패키지에 서명 하는 데 사용 되는 새 인증서 (CN = New)

방법 설명

패키지 id를 유지 하면서 새 인증서를 사용 하 여 패키지에 서명 하는 방법에 대 한 단계별 지침입니다.

아티팩트 만들기

  1. 이전 게시자와 새 게시자를 자세히 설명 하는 XML 아티팩트를 작성 합니다. 원하는 것으로 이름을 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. 아티팩트에 서명 하는 데 사용 되는 카탈로그를 만들려면 CDF (카탈로그 정의 파일)를 작성 합니다. 원하는 이름을 원하는 이름으로 표시 합니다. cdf:
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256

[CatalogFiles]
<HASH>artifact.xml=artifact.xml
  1. 이 CDF에서 makecat.exe를 실행 합니다. 지정 된 파일을 만듭니다.
makecat.exe artifact.cdf
  1. 이전 인증서를 사용 하 여 카탈로그 서명
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat

이 시점에서 XML 및 CAT 파일만 유지 하면 됩니다. 여러 아티팩트를 만들 수 있지만 플랫폼은 현재 최대 5까지 지원 합니다.

참고

카탈로그 파일의 타임 스탬프를 표시 하는 것이 좋습니다. 카탈로그가 타임 스탬프 되지 않으면 이전 인증서가 만료 되는 순간에 아티팩트가 쓸모 없게 됩니다.

패키지 만들기

  1. 게시자 브리징 파일을 만들어 사용할 아티팩트 makeappx.exe 알립니다. 이 파일은 매핑 파일과 같습니다. 원하는 이름을 원하는 이름으로 artifacts.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"

각 줄은 XML 및 CAT 파일 경로 쌍을 포함 해야 합니다. 아티팩트는 적용 될 때 순서가 지정 되어야 합니다. Publisher1 Publisher2에 대 한 아티팩트가 두 개 있고 Publisher2- Publisher3에 대해 다른 아티팩트가 있는 경우 Publisher1- Publisher2 에 대 한 첫 번째 아티팩트가 나열 되어야 합니다.

  1. /Srva 플래그를 사용 하 여 makeappx.exe를 호출 하 여 게시자 브리징 파일을 가리킵니다.
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
  1. 새 인증서를 사용 하 여 패키지 서명
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix

이제 아티팩트 안에 저장 되 고 새 인증서로 서명 된 아티팩트가 있는 패키지가 만들어졌습니다. 다른 MSIX 패키지와 마찬가지로 패키지를 배포할 수 있습니다.

고려 사항

  • 카탈로그에 타임 스탬프를 지정 하는 것이 좋습니다. 이렇게 하려면 catalog에 대 한 경로 앞에 signtool에 대 한 호출에 이러한 인수를 추가 해야 합니다./vd SHA256/tr

  • 플랫폼에서 새 인증서로 서명 된 패키지를 설치 하려면 컴퓨터에 이전 인증서 (타임 스탬프를 사용 하는 것이 권장 됨)를 설치 해야 합니다.

  • 이 기능을 활용 하려면 이전 인증서가 만료 되기 전에이 작업을 수행 해야 합니다.

  • 이 기능은 MSIX 패키지와 MSIX 번들 모두에 대해 작동 합니다.