Windows 10 アプリ パッケージの署名Signing Windows 10 App Package

アプリ パッケージの署名は、展開できる Windows 10 アプリ パッケージを作成するプロセスに必要な手順です。App package signing is a required step in the process of creating a Windows 10 app package that can be deployed. Windows 10 では、すべてのアプリケーションを有効なコード署名証明書で署名する必要があります。Windows 10 requires all applications to be signed with a valid code signing certificate.

Windows 10 アプリケーションを正常にインストールするには、パッケージだけ署名が、デバイス上でも信頼がありません。To successfully install a Windows 10 application, the package doesnt just have to be signed but also trusted on the device. これは、デバイスで信頼されたルートのいずれかにチェーンする証明書を持つことを意味します。This means that the certificate has to chain to one of the trusted roots on the device. 既定をするには、Windows 10 は、コード署名証明書を提供するほとんどの証明機関から証明書を信頼します。Be default, Windows 10 trusts certificates from most of the certificate authority that provide code signing certs.

トピックTopic 説明Description
署名するための前提条件Prerequisites for signing このセクションでは、Windows 10 アプリのパッケージに署名するために必要な前提条件について説明します。This section discusses the prereqs required to sign the Windows 10 app package.
SignTool を使用してください。Using SignTool このセクションでは、アプリ パッケージに署名する Windows 10 SDK から SignTool を使用する方法について説明します。This section discusses how to use SignTool from the Windows 10 SDK to sign the app package.


コード署名証明書の有効性を示すもう 1 つの重要な特性は、証明書でアプリ パッケージの署名、だけでなくTimestampingします。Besides signing the app package with a certificate, another important characteristic that dictates the validity of the code signing certificate is Timestamping. タイムスタンプには、アプリ パッケージ、証明書の有効期限が切れた後もアプリの展開プラットフォームで受け入れを許可する署名が保持されます。Timestamping preserves the signature allowing the app package to accepted by app deployment platform even after the certificate has expired. パッケージの検査時に署名された時間を基準として検証するパッケージの署名のタイムスタンプができます。At the package inspection time, the timestamp allows for the package signature to be validated with respect to the time it was signed. これにより、証明書が有効では不要になった後も受け入れられるパッケージ。This allows for packages to be accepted even after the certificate is no longer valid. タイムスタンプ付きでないパッケージは、現在の時刻に照らして評価され、Windows は、パッケージを受け入れません証明書が有効でなくなった場合。Packages that are not timestamped will be evaluated against the current time and if the certificate is no longer valid, Windows will not accept the package.

以下は、アプリの署名の入力/出力タイムスタンプに関するさまざまなシナリオです。The following are the different scenarios around app signing with/out timestamping:

アプリの署名タイムスタンプを設定せずにはApp is signed without timestamping アプリは、タイムスタンプで署名します。App is signed with timestamping
証明書が有効Certificate is valid アプリをインストールします。App will install アプリをインストールします。App will install
証明書が invalid(expired)Certificate is invalid(expired) アプリのインストールが失敗します。App will fail to install タイムスタンプ機関によって署名に証明書の信頼性検証済みアプリがインストールされます。App will install as the authenticity of the cert was verified at signing by timestamping authority


デバイスでアプリを正常にインストールする場合でも、タイムスタンプをされているかどうかに関係なく証明書の有効期限後に実行する続けます。If the app is successfully installed on a device, it will continue to run even after the certificate expiry regardless of it being timestamped or not.

デバイスのモードDevice mode

Windows 10 では、設定アプリで自分のデバイスを実行するモードを選択することができます。Windows 10 allows users to select the mode in which to run their device on in the Settings app. モードは、Microsoft Store アプリ、アプリのサイドローディングを開発者モードです。The modes are Microsoft Store apps, Sideload apps, and Developer mode.

Microsoft Store アプリ最も Microsoft Store からのアプリのインストールのみが許可されているセキュリティで保護します。Microsoft Store apps is the most secure as it only allows the installation of apps from the Microsoft Store. Microsoft Store でのアプリは、アプリが使用しても安全であることを確認する認定プロセスを実行します。Apps in the Microsoft Store go through certification process to ensure that the apps are safe for use.

アプリのサイドロード開発者モードはそれらの証明書が信頼されている限り、他の証明書によって署名されているアプリとデバイスの信頼されたルートのいずれかにチェーンの制限の少ない。Sideload apps and Developer mode are more permissive of apps that are signed by other certificates as long as those certificates are trusted and chain to one of the trusted roots on the device. 開発者と Windows 10 アプリをビルドまたはデバッグする場合のみ、開発者モードを選択します。Only select Developer mode if you are a developer and building or debugging Windows 10 apps. 開発者モードと、提供内容に関する詳細情報が見つかりますここします。More info about Developer mode and what it provides can be found here.