Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
こんにちは。Visual Studio サポート チームです。
今回は EV コード署名証明書を使用して ClickOnce アプリケーションにマニフェスト署名を行う際に、ご注意いただきたい事項をご案内します。
コード署名証明書を使用し、ClickOnceアプリケーションにマニフェスト署名した場合、アプリケーションの配布や実行時に「発行元」を表示し、「改ざんがされていない正規品」であることをユーザーに明示することが可能となります。
その際に使用する証明書は、大きく分けて通常のコード署名証明書と EV コード署名証明書の 2 種類があります。
EV コード署名証明書は、証明書を発行する認証局による審査に高い基準があり、また、署名時に二要素認証を求められるなど、通常の証明書と比べてより信頼性が高いものとなります。
EV コード署名証明書を使用して、ClickOnceアプリケーションに署名し、ユーザーに署名したアプリケーションを配布するためには、以下の要件を満たす必要があります。
ClickOnce アプリケーションの開発環境の要件
マニフェスト署名のため、EV コード署名証明書に対応したバージョンである、Visual Studio 2015 以降のバージョンをご利用頂く必要があります。
ClickOnce アプリケーションをインストールする環境の要件
マニフェスト署名の検証のため、.NET Framework 4.6 以降のバージョンを事前にインストールしていただく必要があります。
ClickOnceアプリケーションのマニフェスト署名
Visual Studio 2015以上のバージョンではEVコード署名証明書を使用したアプリケーションの署名に対応しています。
そのため、EVコード署名証明書を使用し、アプリケーションに署名をする際には、Visual Studio 2015をご利用ください。
なお、Visual Studio 2013 以前のバージョンで、EVコード署名証明書を使用して、アプリケーションに署名をした場合には、ビルドと発行は正常に終了しますが、実際には署名が正常に完了していないため、ClickOnceアプリケーション起動時のダイアログに表示される発行元は "不明な公開元" として表示されます。
ClickOnceアプリケーションの実行
ClickOnceアプリケーションの実行時に、EVコード署名証明書を使用した署名を検証するためには、.NET Framework 4.6以上のバージョンが予め、実行環境にインストールされている必要があります。
これは、.NET Framework 4.6 以上のバージョンでEVコード署名証明書の実行時の検証に対応しているためとなります。
ClickOnceアプリケーションのマニフェスト署名の検証は、.NET Frameworkが提供する dfsvc.exe により実行されます。
また、ClickOnceアプリケーションのマニフェスト署名と配布される実行モジュールのランタイムのバージョンは共に依存はしません。
そのため、例えば、.NET Framework 3.5 SP1で開発されたアプリケーションをVisual Studio 2015でEVコード署名証明書を使用し、マニフェスト署名をしてユーザーに対して発行した場合、アプリケーションの実行環境には、マニフェスト署名の検証のために .NET Framework 4.6 以上のバージョンが、また、アプリケーションの実行ランタイムとして .NET Framework 3.5 SP1がそれぞれインストールされている必要があります。
例: 実行環境にインストールが必要な .NET Framework
---------------------------------------------------------
マニフェスト署名のため → .NET Framework 4.6以上のバージョン
アプリケーションの実行のため → .NET Framework 3.5 SP1
Windows 8 以降の SmartScreen 機能による警告を回避するために EV コード署名証明書の使用を検討される場合は、この前提条件を踏まえてください。
なお、大変恐縮ではございますが、EV コード署名証明書の対応について、Visual Studio 2013 以前のバージョンおよび .NET Framework 4.6 未満のバージョンへの対応は現在のところ予定されておりません。
< 参考情報 >
ClickOnce アプリケーションとSmartScreen につきましては、当ブログの下記の投稿でご案内しています。こちらもご参考ください。
Windows 8 でインターネット ゾーンの ClickOnce アプリケーションを実行する場合の SmartScreen 動作について
< https://blogs.msdn.microsoft.com/jpvsblog/2013/08/06/windows-8-clickonce/>