1. ホーム
  2. c#

[解決済み] Win8で署名付きアプリケーションをインストールする際にスマートスクリーンを通過させる方法は?

2023-07-20 11:51:44

質問

私たちは開発者であり、電子署名されたアプリケーションのインストーラーを持っています。このアプリケーションをインストールすると、スマート スクリーンがポップアップ表示され、インストール体験に影響を及ぼします。次のように表示されます。

WindowsはあなたのPCを保護します。

Windows SmartScreen は、認識されていないアプリの起動を阻止しました。 このアプリを実行すると、PC が危険にさらされる可能性があります。

Microsoft には、デジタル署名以外にアプリケーションを確認するための戦略があると思います。どなたかこの問題の経験をお持ちで、この問題を解決するための手がかりをお持ちの方はいらっしゃいますか?

どのように解決するのですか?

CA から購入した証明書でインストーラーに署名した場合、CA に連絡して、なぜこの警告を取り除くために Microsoft と協力できなかったのか説明してもらう必要があります。

証明書が CA からのものでなく、自己署名された証明書である場合、CA に頼るしかないでしょう。

Microsoft は、その Windows チームのブログですでにほとんどの情報を公開しています。

https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/

<ブロッククオート

ベストプラクティス

開発者は、過去のブログ投稿で提案したベスト プラクティスに引き続き従ってください。私たちはそのガイダンスに、Windows ストアを通じてアプリを配布するオプションと EV コード署名のオプションを追加しました。

  • Windows ストアを通じてアプリを配布する

Windows 8 アプリケーションは、Windows ストア開発者のオンボーディングおよびアプリケーション レビュー プロセスに合格する必要があります。Windows 8 アプリケーションは、Windows 8 の SmartScreen アプリケーション評価チェックまたは警告の対象ではありません。

  • プログラムへのデジタル署名 (標準または EV コード署名)

レピュテーションは、特定のファイルだけでなく、デジタル証明書にも生成され、割り当てられます。デジタル証明書では、データを集約して、多くの個々のプログラムではなく、単一の証明書に割り当てることができます。必須ではありませんが、EVコード署名証明書によって署名されたプログラムは、そのファイルまたはパブリッシャーに以前のレピュテーションが存在しない場合でも、SmartScreenレピュテーションサービスによって直ちにレピュテーションを確立することができます。EVコードサイニング証明書は、証明書の更新に渡ってレピュテーションを維持しやすくするために、一意の識別子を持っています。Windows ルート証明書プログラムのメンバーである CA によって発行された Authenticode 証明書のみが、レピュテーションを確立することができます。

現時点では、Symantec と DigiCert が EV コードサイニング証明書を提供しています。

  • 悪意のあるコードに署名したり配布したりしない

悪意のあるコードとして検出されたコードを配布すると、ファイルから評価が削除され、たとえ EV コード署名証明書で署名されていても、関連するデジタル証明書から評価も削除されます。

  • Windows Logo または Windows 8 デスクトップ アプリの認定を申請する

これらのプログラムについて詳しくは、こちらをご覧ください。 Windows 8 デスクトップ アプリ認定 (Windows ストアへの提出が必要です) Windows ロゴ プログラム