ユーザーがアプリケーションをインストールするときに、次の恐ろしいメッセージが表示されないようにしたいと思います。
証明書などを購入する必要があることは理解しています。どこで買えばいいのか、その後どうすればいいのか教えていただけますか?exe アプリケーションに自動的に署名したいと思います。さらに、InnoSetup を使用しており、新しいパッケージ (EXE ファイル) を作成するときに署名を自動的に追加したい
ユーザーがアプリケーションをインストールするときに、次の恐ろしいメッセージが表示されないようにしたいと思います。
証明書などを購入する必要があることは理解しています。どこで買えばいいのか、その後どうすればいいのか教えていただけますか?exe アプリケーションに自動的に署名したいと思います。さらに、InnoSetup を使用しており、新しいパッケージ (EXE ファイル) を作成するときに署名を自動的に追加したい
「既知の発行元」になりたい場合は、Verisign などの機関からの証明書が必要です。安くはありません (Verisign の料金は年間 400 ドルまで)。
https://www.symantec.com/verisign/code-signing/microsoft-authenticode/buy
も参照してください。
http://msdn.microsoft.com/en-us/library/ms247066
https://stackoverflow.com/a/1191152/327083
基本的に、できることは 2 つあります。厳密な名前の署名と Authenticode の署名です。
厳密な名前の署名だけでは、アセンブリの発行元を特定することはできませんが、アセンブリを信頼できるキーに関連付け、改ざんされたアセンブリを検出できます。独自のキー/証明書をユーザーに配布し、インストールしてもらう必要があります。これを処理するためのサードパーティ システムはありません。
Authenticode (例: Verisign など) はサード パーティの認証に費用がかかりますが、プロセス全体を適切にシュリンク ラップし、既知の発行者として識別します。
それでも、Verisign 証明書を使用した場合でも (少なくとも最初は)、デフォルトの UAC 設定のダイアログ ボックスが表示されます。それは、誰からのものか (既知の発行元、名前など) を識別するだけです。ただし、彼らはあなたの発行者から「常に信頼する」オプションを取得します (「不明な発行者」として取得することはできません)。