キーを作成し、SignToolで実行可能ファイルに署名します
-
29-09-2019 - |
質問
Visual C#Execupableに署名するにはどうすればよいですか?
SIGNTOOL.EXEは証明書を見つけることができません。
自己署名されたキーと証明書を作成し、Signtoolに証明書を表示して使用するにはどうすればよいですか?
OpenSSLとVisual Studio 2010 Expressがインストールされています。 Windows 7 Ultimate x64を実行しています。
WindowsドライバーキットのSignTool.exeを使用します。
解決
あなたのバイナリにデジタルに署名するために自己署名証明書を使用することはほとんど反対します デジタル証明書の使用の概念 プログラムで。基本的なアイデアは、コードがあなたによって作成されたことを証明することであり(信頼性)、リリースしてから変更されていません(整合性)。これは、信頼できる証明書当局(CA)が署名する署名された証明書を使用して行う必要があります。
.NETを使用すると、バイナリがデジタルに署名されている場合、 自動的 スタートアップ中の整合性と信頼性について検証されました。私はこれを個人的にテストしていませんが、自己署名証明書を使用すると、おそらく多くの問題が発生するでしょう。
プログラムにデジタルに署名する場合は、CAからのコード署名証明書に投資する必要があります。このサービスを提供できる多くの企業がそこにあります(verisign, Thawte)、 有料。
料金の価格は少し極端に見えるかもしれませんが、デジタル証明書を購入するだけでなく、その証明書の24時間365日の検証も購入していることを忘れないでください。誰かがあなたのプログラムを開始するときはいつでも、プログラムがあなたによって書かれていることを保証し、あなたがそれをリリースしてからプログラムが変更されていないことを保証します。
証明書を取得したら、ステップに従ってプログラムにデジタルに署名できます 方法:アプリケーションと展開のマニフェストに署名します.
アップデート: このプログラムが厳密に内部アプリケーション(あなたまたはあなたのビジネスに限定)である場合、 独自のCAを作成できます. 。あなたはそれを実行している唯一の人であるので、あなただけがそれを検証する必要があります。 CA証明書をとしてインストールする必要があります 信頼できるルート証明書 プログラムを実行するすべてのマシンで(またはWindows Serverにアクセスできる場合は、実際の動作CAをセットアップできます)。