82

私たちは開発者であり、デジタル署名されたアプリケーション インストーラーを持っています。このアプリケーションをインストールすると、インストール エクスペリエンスに影響するスマート スクリーンがポップアップ表示されます。それは言う

Windows が PC を保護しました

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

Microsoft には、デジタル署名以外に、アプリケーションを検証するための戦略があると思います。この問題の経験がある人はいますか? この問題を解決する手がかりを教えてください。

4

9 に答える 9

47

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 ロゴまたは Windows 8 デスクトップ アプリの認定を申請する

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

于 2012-09-07T05:59:38.797 に答える
15

ずっと探していたので、これまでに見つけたものを共有します。

Microsoft から Windows 8 のこの機能に関するドキュメントは見つかりませんでしたが、間違った場所を探しているだけかもしれません。

私が読んだ記事のほとんどは、SmartScreen フィルターが次のように機能することを説明しています。

  • ダウンロードしたインストーラーまたは実行可能ファイルを実行する前に、Windows 8 はデータベースを参照します。
  • データベースは、そのプログラムが次のことを行ったかどうかを報告できます。
    • 悪意のある/フィッシングとして報告されています (Microsoft の従業員によって検証されています)。
    • 多くの人によって使用/実行されます。

十分な数の人がそのインストーラーを悪意のあるものとして報告せずに実行した場合、最終的にそのプログラムは安全であるというフラグが付けられ、他のユーザーは迷惑なメッセージを受信しなくなります。

いくつかの情報源: (ここ) (ここ)

ユーザーがプログラムをインストールするときに Microsoft に送信される情報には、IP アドレス、インストーラーのハッシュとデジタル署名、および場合によってはアプリケーションのファイル名が含まれます。(こちらをご覧ください

Microsoft の従業員は、データベースに直接アクセスして、すべての Microsoft アプリケーションを安全に追加し、フラグを立てることができます。

おそらく Microsoft は、インストーラーを事前に認定する方法を設定しています。(ただし、それがいくつになるかはわかりません)。

于 2012-09-07T06:03:13.407 に答える
13

このプロセスを実行したところです。これにいくつかの情報を追加します。

1) EV を取得します。価値がある。次回証明書をアップグレードするときは、EV 証明書にアップグレードしてください。価格は年間約 100 ドル高くなります。EV 証明書は盗まれにくいため、より安全であると考えられています。発行されると、署名を完了するためのハードウェア トークン デバイスが発行されます。残念ながら、最終的な署名は自動ビルドと互換性がありません。

それは思ったほどひどいものではありません。彼らは、自動化との互換性を維持する実行可能ファイル (インストーラー内) に署名するための 2 つ目の証明書を提供します。インストーラーの署名は、ハードウェア トークンと共に署名する必要があります。

2) EV 証明書を取得したくない場合は、評判が必要です。アップグレードする場合、Microsoft は古い証明書から新しい証明書に評価を転送します。MSDN テクニカル サポートに連絡する必要があります。約 1 週間で完了します。古い証明書と新しい証明書を使用して、古いインストーラーと新しいインストーラーを提出したところ、修正されました。

3) これが初めての証明書である場合は、評判が得られるまで SmartScreen を使い続けることになります。おそらく、sysdev.microsoft.com を通じてアプリの認定を受ける必要があります。しかし、Microsoft で良い評判を得るために必要なダウンロード数は、実際にはわかっていません。

それが私の経験です。

于 2013-10-01T04:15:10.827 に答える
5

Windows 8.1が出たので。

  • Microsoft は、インターネット経由で PC にダウンロードしてインストールしようとすると、信頼できるすべての標準コード署名証明書を無効にしましたが、標準コード署名証明書アプリケーションは、アプリケーションを USB または CD-ROM 経由で配布すると機能します。

  • signtool.exeを使用して検証しないでください(signtool.exe verify /pa mysetup.exe成功と表示されますが、他のユーザーがダウンロードしてインストールしようとすると失敗し、SmartScreen ポップアップが表示され続けます)。

Windows アプリ認定キット (WACK) を使用する

ここに画像の説明を入力

  • この標準コード署名証明書は無効です。Windows App Certification Kit (WACK) が PASS と WARNING を示していても、標準のコード署名証明書があれば、以前のように確実に機能しなくなりますが、100% の検証成功を意味するわけではありません。

ここに画像の説明を入力

EV 証明書を購入する必要があります ( https://www.globalsign.com/en/code-signing/ )

したがって、100% 成功するには、スプーン フィードに従ってください。

ステップ 1: https://sysdev.microsoft.comにアクセスしてログインします。

a) 企業アカウントを作成 > 次へ

b) Microsoft が提供する zip ファイルとしての winqual.exe ファイルをダウンロードし、標準証明書または EV 証明書で winqual.exe に署名し、[次へ] をクリックして検証用のファイルをアップロードします。

私の場合、マイクロソフトが許可しなくなった標準の証明書があるため、失敗しました。したがって、今あなたがしなければならないことは、EV ライセンスを購入することだけです。

ここに画像の説明を入力

于 2015-03-15T23:41:11.480 に答える
4

EV cert ソリューションをテストしましたが、動作します。

悲しいことに、EV 証明書は、サービスのコンテキストで署名を実行する TeamBuild と互換性がないことにも言及します。EV 証明書には、認定されたすべての EV 証明書ベンダー (VeriSign および DigiCert) で使用するために、SafeNet, Inc が提供する暗号化サービス プロバイダーとインターフェイスするハードウェア トークンが必要です。

署名が発生すると、Safenet のドライバーは、サービスのコンテキストでの実行とは多少互換性のないパスワードを要求します。さらに、Safenet は、実際のコンソール以外からの署名を防止する保護を提供します。リモート デスクトップ セッション内からサインインすることさえできません。そのため、Teambuild 内からの署名はよくても問題があり、最悪の場合は不可能です。

私は Microsoft と協力してきましたが、署名の回避策や、SmartScreen ですぐに評判を得るためのその他の方法を提供することができませんでした。

于 2013-07-30T16:58:11.997 に答える
1

残念ながら、上記の回答のいずれかにコメントするだけの十分な担当者がいません。ただし、公開されたアプリに部分的な信頼を指定し (インターネット ゾーンを選択)、コード署名証明書が配置されている場合、スマート スクリーンの警告は表示されません (Win10 で確認)。

于 2015-08-24T12:34:14.750 に答える
1

「このファイルのバージョンは、実行中の Windows のバージョンと互換性がありません。」Windows 2008 サーバーでは、インストールを選択する「詳細情報」ボタンはありません。

Microsoft 以外の製品 (Delphi) を使用して Windows デスクトップ ソフトウェア (「アプリ」ではない) を開発し、インストーラーに Innosetup を使用しているため、アプリの検証は無意味です。何もせずに 30 分間そのままで、アプリを起動して手動で閉じると、合格レポートが生成されます。

すべてのリリースとその中のすべての実行可能ファイルにコード署名します。

XML を Microsoft にアップロードすると、認定済みの XML はメインの開発者アカウントとは無関係のサイトに置かれ、Microsoft Store に公開する方法はありません。アプリケーションごとに 45 分の無駄。

于 2016-08-01T06:13:00.310 に答える