何よりもまず、これがコード署名の私の最初の経験です。
私は Certumからの標準コード署名 を3年間購入しました。
主にチェコ共和国でアプリケーションを公開するつもりです。
しかし、Windows 10では、署名付きの実行可能ファイルをダウンロードすると、アプリケーションをブロックするSmart-Screenフィルターにぶつかります。
どう考えたらいいのかわからない。 SHA256とタイムスタンプを使用しました。完全に更新されたWindows 8.1で署名しました。
EXEファイルに署名するために使用したコードスニペットを次に示します。
SignTool sign /fd SHA256 /a /tr http://time.certum.pl "Barvy.exe"
私は何か間違ったことをしましたか?
EXEファイルの署名の画像の詳細は次のとおりです。
標準のコード署名証明書で署名されたアプリケーションは、Smart Screenフィルターを通過するために、高い評価を得る必要があります。 Microsoftは、世界中で同じアプリケーションのインストール数に基づいて、実行可能ファイルの評判を確立しています。アプリケーションをまだ公開していない(したがって、評判がまだ確立されていない)ため、Smart Screenは引き続きアプリケーションにフラグを立てます。
2つの解決策があります。アプリケーションのユーザーベースが大きくなるまで待つか、その評判をスマートスクリーンで調整します。ただし、現在の稼働状況では、ユーザーがアプリケーションをインストールして信頼できない可能性があります。 2番目のオプションは、EV(Extended Validation)コード署名証明書で署名することです。 EV証明書で署名されたアプリケーションは、すぐに評判を確立します。マイクロソフトを引用するには:
EVコード署名証明書によって署名されたプログラムは、そのファイルまたはパブリッシャーに対して以前のレピュテーションが存在しない場合でも、SmartScreenレピュテーションサービスですぐにレピュテーションを確立できます。
詳細については、 Microsoft SmartScreen&Extended Validation(EV)コード署名証明書 ブログポストを参照してください。
標準のコード署名証明書がある場合は、アプリケーションが信頼を構築するのに時間がかかります。マイクロソフトは、Extended Validation(EV)コード署名証明書により、この信頼構築期間をスキップできることを確認します。 Microsoftによると 、拡張された検証証明書により、開発者はSmartScreenですぐに評判を確立できます。それ以外の場合は、しばらくの間、アプリケーションが信頼を構築するまで、「Windows Defender Smartscreenが認識されないアプリの起動を阻止しました。このアプリを実行すると、PCが危険にさらされる可能性があります。」という警告が2つのボタンとともに表示されます。 」と「実行しない」。
別のMicrosoftリソース は次のように述べています(引用):「必須ではありませんが、EVコード署名証明書で署名されたプログラムは、そのファイルまたはパブリッシャーの事前のレピュテーションが存在しない場合でも、SmartScreenレピュテーションサービスですぐにレピュテーションを確立できます。 EVコード署名証明書には一意の識別子もあり、証明書の更新後の評価を維持しやすくなっています。」