Windows EXE ファイルに署名する 質問する

Windows EXE ファイルに署名する 質問する

を持っていますEXEWindows が「不明な発行元」からのアプリケーションについてエンド ユーザーに警告しないように、署名したいファイルがあります。私は Windows 開発者ではありません。問題のアプリケーションは、スクリーン セーバー アプリケーションを生成するアプリケーションから生成されたスクリーン セーバーです。そのため、ファイルの生成方法には影響がありません。

私はすでに、コード署名証明書カナダのようにベリサインまたは、instantssl.com です。EXE ファイルに署名するには (可能な場合) 何をすればよいのかがわかりません。簡単な説明はありますか?

Mel Green の回答でさらに理解できましたが、signtool ではいずれにしても使用する証明書を指定する必要があります。何らかの方法で無料のコード署名証明書を入手し、これが機能するかどうかをテストすることはできますか?

また、どの種類の証明書が正しいかを指定してください。ほとんどのサイトでは、「コード署名」についてのみ言及しており、実際にユーザーがコンパイルしたアプリケーションの署名について説明しています。私の場合はそうではありません。

ベストアンサー1

アプリに署名する方法

使用Microsoft の SignToolアプリに署名します。

ダウンロードはWindows SDK. また、SDK全体をインストールせずにSignToolをインストールするインストールしたら、次のようにしてコマンド ラインから SignTool を使用できます。

signtool sign /a /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 MyFile.exe

これにより署名されますMyFile.exe。使用されるコマンドライン オプションの説明:

  • /a最も長い期間有効な証明書が自動的に使用されます。証明書がない場合は、SignTool によってエラーが表示されます。
  • /fd SHA256ファイル署名には SHA-256 ダイジェスト アルゴリズムを使用します。SHA256 の使用が推奨されており、デフォルトの SHA1 ダイジェスト アルゴリズムよりも安全であると考えられています。
  • /tr http://timestamp.digicert.com署名されたアプリにタイムスタンプを追加します。これは、証明書自体の有効期限が切れたでも署名が有効であるため、非常に重要です。このオプションの引数はタイムスタンプURLです。/tr無料のRFC 3161タイムスタンプサーバーのリスト
  • /td SHA256タイムスタンプ署名には SHA-256 ダイジェスト アルゴリズムを使用します。以前と同様に、SHA256 の使用が推奨されており、より安全であると考えられています。

自己署名証明書を使用する方法とタイミング

実行可能ファイルに署名するプロセスをテストするために使用できる証明書を入手したい場合は、メイクサート自己署名証明書を作成します。

独自の証明書を作成し、それを実行可能ファイルの署名に使用したら、それを手動でマシンの信頼されたルートCAとして追加する必要があります。ユニバーサル自己署名証明書を信頼できるソースとして受け入れます。これは自分の開発マシンでのみ実行できることに注意してください。ほとんどのユーザーは新しいルートCAのインストールを受け入れないため、通常、ユーザーのコンピューターではこれを行うことはできません。正当な理由から

「認識されないアプリ」の警告を取り除く方法

アプリが署名されている場合でも、アプリを実行しようとすると次の警告メッセージが表示される場合があります。

Microsoft Defender SmartScreen により、認識されないアプリの起動がブロックされました。このアプリを実行すると、PC が危険にさらされる可能性があります。

この警告を回避する方法はやや複雑な問題です。この答えこれらの Microsoft SmartScreen 警告の全体像と、それに対して実行できること、知っておくべきことについて理解します。

おすすめ記事