Windows 10 アプリ パッケージへの署名Sign a 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.

タイムスタンプTimestamping

証明書を使用してアプリ パッケージに署名することに加えて、コード署名証明書の有効性を示すもう 1 つの重要な特性は、タイムスタンプです。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
証明書が無効 (期限切れ)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.