244

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

Verisignや instantssl.comなどのCAからのコード署名証明書が必要になることはすでにわかっています。私が理解していないのは、EXE ファイルに署名するために (可能な限り) 何をする必要があるかということです。簡単な説明とは?

Mel Green の答えはさらに先に進みましたが、signtool は、どのような場合でも使用する証明書を指定するように求めています。無料のコード署名証明書を入手して、これが機能するかどうかをテストできますか?

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

4

9 に答える 9

141

Microsoft の署名ツールを使用して試すことができます

これは、Windows Server 2008 および .NET 3.5 用の Windows SDK の一部としてダウンロードします。ダウンロードしたら、次のようにコマンドラインから使用できます。

signtool サイン /a MyFile.exe

これは、利用可能な「最良の証明書」を使用して、単一の実行可能ファイルに署名します。(証明書がない場合は、SignTool エラー メッセージが表示されます。)

または、次を試すことができます。

サインツール

これにより、アプリケーションへの署名を順を追って説明するウィザードが起動します。(このオプションは、Windows SDK 7.0 以降では使用できません。)


実行可能ファイルに署名するプロセスをテストするために使用できる証明書を取得したい場合は、.NET ツールMakecertを使用できます。

証明書作成ツール (Makecert.exe)

独自の証明書を作成し、それを使用して実行可能ファイルに署名したら、UACがそれを実行しているユーザーに信頼できるソースからのものであることを伝えるために、それをマシンの信頼されたルート CA として手動で追加する必要があります。重要です。ROOT CA として証明書をインストールすると、ユーザーのプライバシーが危険にさらされます。DELLに何が起こったのか見てください。コードと Windows の両方でこれを実現するための詳細情報は、次の場所にあります。

うまくいけば、これを行おうとしている人にさらに情報が提供されます!

于 2008-10-31T00:32:58.743 に答える
41

オープン ソース開発を行っている場合は 、Certum から無料で安価なコード署名証明書を取得できます。

私は彼らの証明書を 1 年以上使用していますが、Windows から発行元不明のメッセージが表示されなくなりました。

コードに署名する限り、次のようなスクリプトからsigntool.exeを使用します。

signtool.exe sign /t http://timestamp.verisign.com/scripts/timstamp.dll /f "MyCert.pfx" /p MyPassword /d SignedFile.exe SignedFile.exe
于 2014-09-18T21:24:37.300 に答える
18

ASPの雑誌ASPectsには、コードに署名する方法の詳細な説明があります(記事を読むにはメンバーである必要があります)。http://www.asp-shareware.org/からダウンロードできます。

独自のテスト証明書を作成する方法の説明へのリンクは次のとおりです。

これも面白いかもしれません。

于 2008-11-27T13:03:40.673 に答える
18

Linux ボックスで実行可能ファイルに署名する必要がある場合の別のオプションは、Mono プロジェクト ツールのサインコードを使用することです。Ubuntuでサポートされています。

于 2015-02-21T07:03:49.023 に答える
7

さらに別のオプションとして、Windows 10 で開発しているが、Microsoft の signtool.exe がインストールされていない場合は、Windows の Ubuntu で Bash を使用してアプリに署名できます。ここに概要があります:

https://blog.synapp.nz/2017/06/16/code-signing-a-windows-application-on-linux-on-windows/

于 2017-06-16T11:24:54.590 に答える