Windows 10 앱 패키지 서명

앱 패키지 서명은 배포할 수 있는 Windows 10 앱 패키지를 만드는 과정에서 필요한 단계입니다. Windows 10에서는 모든 애플리케이션을 유효한 코드 서명 인증서로 서명해야 합니다.

Windows 10 애플리케이션을 성공적으로 설치하기 위해 패키지는 서명만 해야 하는 것이 아니라 디바이스에서 신뢰할 수 있어야 합니다. 즉, 인증서를 디바이스에서 신뢰할 수 있는 루트 중 하나에 연결해야 합니다. 기본적으로 Windows 10은 코드 서명 인증서를 제공하는 대부분 인증 기관의 인증서를 신뢰합니다.

또한 MSIX 번들을 만드는 경우 번들의 모든 패키지에 개별적으로 서명할 필요가 없습니다. 번들만 서명해야 하며 내부의 모든 패키지는 재귀적으로 서명됩니다.

항목 설명
서명을 위한 필수 구성 요소 이 섹션에서는 Windows 10 앱 패키지에 서명하는 데 필요한 필수 구성 요소를 설명합니다.
SignTool 사용 이 섹션에서는 Windows 10 SDK의 SignTool을 사용하여 앱 패키지에 서명하는 방법을 설명합니다.
Device Guard 서명을 사용하여 MSIX 패키지 서명 이 섹션에서는 Device Guard 서명으로 앱에 서명하는 방법을 설명합니다.
테스트를 위해 서명되지 않은 패키지 만들기 이 섹션에서는 서명되지 않은 msix 패키지를 만드는 방법을 설명합니다.

타임스탬프 처리

인증서를 사용하여 앱에 서명할 때 타임스탬핑 을 사용하는 것이 좋습니다. 타임스탬핑은 인증서가 만료된 후에도 앱 배포 플랫폼에서 앱 패키지를 수락할 수 있도록 서명을 유지합니다. 패키지 검사 시 타임스탬프는 서명된 시간과 관련하여 패키지 서명이 검증될 수 있도록 합니다. 그러면 인증서가 더 이상 유효하지 않아도 패키지가 허용됩니다. 타임스탬프 처리가 되지 않은 패키지는 현재 시간에 대해 평가되며 인증서가 더 이상 유효하지 않으면 Windows에서 패키지를 수락하지 않습니다.

다음은 타임스탬프 처리를 사용/해제하는 앱 서명과 관련된 다양한 시나리오입니다.

시나리오 타임스탬프 처리를 적용하지 않고 앱 서명 타임스탬프 처리를 적용하여 앱 서명
인증서가 유효 앱이 설치됨 앱이 설치됨
인증서가 유효하지 않음(만료됨) 앱 설치 실패함 서명 시 타임스탬프 처리 권한에 의해 인증서의 신뢰성이 확인되었으므로 앱이 설치됨

참고 항목

디바이스에 앱이 성공적으로 설치되면 타임스탬프 처리 여부에 상관 없이 인증서가 만료된 후에도 앱이 계속 실행됩니다.

패키지 무결성 적용

신뢰할 수 있는 애플리케이션만 디바이스에 설치되도록 하는 것 외에도 MSIX 패키지 서명의 추가 이점은 Windows가 디바이스에 배포된 후 패키지 및 해당 콘텐츠의 무결성을 적용할 수 있다는 것입니다. 서명된 패키지에서 AppxBlockMap.xmlAppxSignature.p7x에 연결하면 Windows는 런타임 및 Windows Defender 검사 중에 패키지 및 해당 콘텐츠의 무결성에 대한 유효성 검사 검사 수행할 수 있습니다. 패키지가 변조된 것으로 간주되는 경우 Windows는 애플리케이션 시작을 차단하고 수정 워크플로를 시작하여 패키지를 복구하거나 다시 설치합니다. Microsoft Store를 통해 배포되지 않은 패키지의 경우 패키지가 uap10:PackageIntegrity 요소를 선언하고 Windows 2004 이상 빌드에 배포되는 경우 패키지 무결성이 적용됩니다. 다음은 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>

디바이스 모드

Windows 10을 사용하면 사용자가 설정 앱에서 디바이스를 실행할 모드를 선택할 수 있습니다. 모드는 Microsoft Store 앱, 테스트용으로 앱 로드 및 개발자 모드입니다.

Microsoft Store 앱은 Microsoft Store의 앱만 설치할 수 있기 때문에 가장 안전합니다. Microsoft Store의 앱은 인증 과정을 거쳐 해당 앱이 사용하기에 안전함을 보장합니다.

테스트용으로 앱 로드개발자 모드는 해당 인증서가 신뢰할 수 있고, 디바이스에서 신뢰할 수 있는 루트 중 하나에 연결되어 있는 경우 다른 인증서에서 서명한 앱에 대해 더 많은 권한을 부여합니다. Windows 10 앱을 빌드 또는 디버깅하는 개발자인 경우에만 개발자 모드를 선택하세요. 개발자 모드에 대한 더 자세한 정보 및 개발자 모드가 제공하는 항목은 여기에서 확인할 수 있습니다.

참고 항목

Windows 10 버전 2004부터 사이드로드 옵션은 기본적으로 켜져 있습니다. 결과적으로 개발자 모드 는 이제 토글이 됩니다. 기업은 정책을 통해 테스트용 로드를 해제할 수 있습니다.