問題タブ [authenticode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - VisualStudio.msiのインストールファイルに署名する方法
最近、globalsignからauthenticode証明書を購入しましたが、展開用のファイルに署名する際に問題が発生します。プロジェクトによって生成されてから.msiに入れられる.exeファイルがいくつかあります。signtoolを使用して.exeファイルに署名すると、証明書は有効であり、正常に実行されます。問題は、(Visual Studioセットアッププロジェクトを使用して).msiをビルドすると、.exeファイルの署名が失われることです。したがって、ビルド後に.msiに署名することはできますが、インストールされた.exeファイルは「不明な発行元」のビジネス全体を継続します。クライアントマシンにインストールするために、これらのファイルの署名を保持するにはどうすればよいですか?
winapi - Windows SDK 7.0のsigntoolでsignwizardはどうなりましたか?
signtool.exeで便利なsignwizardを探していますが、WindowsSDK7.0ではもう見つかりません。
今は別のツールにありますか、それともCLIだけが残っていますか?
c# - アセンブリが Authenticode で署名されているかどうかを調べる
サードパーティ ベンダーのアセンブリを使用しています。古いバージョンでは、このアセンブリは認証コードを使用していました。これにより、アセンブリの読み込みが静かに長く続きました。ベンダーの開発者は、新しいバージョンは Authenticode で署名されていないと私に言いました. これが本当かどうかを確認するにはどうすればよいですか。私の開発マシンでは、アセンブリの読み込みは静かで高速でした。クライアント マシンでのみ、しばらく静かになりました。ネットワークスニファを使用してこれを確認することは可能ですか?
よろしく
.net - ソフトウェア発行元の証明書と厳密な名前のキーは関連していますか?
サードパーティの認証局によって付与されたソフトウェア発行者証明書を使用して、.NETアセンブリで使用する厳密な名前のキーを生成する必要がありますか?
編集:
質問を述べる別の方法は、コード署名と厳密な名前キーが互いに関係があるのか、それともそれぞれが独自の世界なのかということです。
internet-explorer - Internet Explorer が (署名された) ActiveX コントロールのインストールをブロックするのは、いつ/なぜですか?
これまでに見たことのない署名付き ActiveX コントロールを含むページにユーザーがアクセスすると、IE はユーザーにコントロールをインストールする許可を求めるはずです。ただし、IE が代わりにセキュリティ警告を表示することがあります。
たとえば、テスト コントロールがある次のサイトを考えてみましょう: http://www.pcpitstop.com/testax.asp
私はこのメッセージを受け取ることを期待しています - そして時々、私はそうします:
「この Web サイトは次のアドオンを実行しようとしています: 'YYY' の 'XXX'。Web サイトとアドオンを信頼し、実行を許可する場合は、ここをクリックしてください...」
しかし、XP の IE8 では、通常、代わりに次のようになります。
「セキュリティを保護するために、Internet Explorer により、このサイトの特定のコンテンツの表示が制限されています。オプションについては、ここをクリックしてください...」
どうしたの?何か案は?
ありがとう!
hudson - サービスとして実行されている hudson で signtool.exe を正しく使用するにはどうすればよいですか?
THAWTE からコード署名証明書 (MS Authenticode) を購入し、ビルド マシンにインストールしたようです。ユーザーとしてログインしていて、cmd プロンプトを開くと、signtool.exe で証明書を使用して EXE に署名できます。
残念ながら、この同じコマンド ラインは、マシン上で実行されている hudson プロセスでは機能しません。
私が得るエラーメッセージは次のとおりです。
SignTool エラー: 指定されたすべての基準を満たす証明書が見つかりませんでした。
これは、thawte から証明書を取得するために使用したアカウントから signtool.exe を実行したアカウントとは異なるアカウントで hudson サービスが実行されているためだと推測されます。
だから、私の質問は次のとおりです。この問題を解決するにはどうすればよいですか? 私は thawte からファイルをダウンロードしようと思っていましたが、代わりに IE を使用して魔法のようにユーザーのキャッシュに証明書をインストールしました。私はおそらく、他のマシンで保存/保存または使用できるファイルにエクスポートしたいと考えています(または正しい用語が何であれ)。
システム/サービスアカウントの別のユーザーからのファイルまたは証明書を使用して、それを行うにはどうすればよいですか?また、signtool を正しく呼び出すにはどうすればよいですか?
activex - コード署名証明書を使用して ActiveX コントロールに署名し、検証済みの発行元になるにはどうすればよいですか?
Thawte が発行したコード署名証明書を使用して ActiveX コントロールに署名しようとしています。signtool.exe を使用して、コントロールに正常に署名できました。
ファイルのプロパティを見ると、「署名内の証明書を検証できません」と表示されています。
証明書を表示すると、「Windows には証明書を検証するための十分な情報がありません」と表示されます。
[証明書のパス] タブに、「この証明書の発行者が見つかりません」と表示されます。
Internet Explorer では、証明書は署名済みとして認識されますが、発行元が検証されていないという警告がユーザーに表示されます。
Thawte 開発者証明書にチェーンするルートおよび中間証明書と共に自分の証明書を含む単一の PFX ファイルを作成し、その PFX ファイルを使用してコントロールに再署名しようとしました。サイコロはありません。
助言がありますか?
c# - C# を使用して Powershell .ps1 スクリプトの署名を確認するにはどうすればよいですか?
署名済みの .ps1 スクリプトがいくつかあります。それらが C# プロジェクトから適切に署名されていることを確認する必要があります。これを行うためのアルゴリズムまたはライブラリはありますか?
ありがとう!
.net - .NET アプリの実行時に Authenticode 署名を検証する
ここには明らかな何かが欠けているように感じますが、どこにも書かれていません。
私は Authenticode 証明書を使用して実行可能ファイルに署名していますが、それについてもう少し学び始めたので、そのままの値に疑問を抱いています。
- 署名された exe には、「有効な」証明書として示されるデジタル証明書があります。このようなファイルをインターネットからダウンロードすると、Xyz Corporation によって公開された安全でない可能性のある場所からプログラムを実行しようとしているという警告が Windows に表示されます。
- 署名がない場合、ダウンロードされたファイルは、ファイルが信頼されていないことを示すまったく異なる外観の警告ボックスを表示します。
さて、気になるのは:
署名付きの exe が変更されている場合、[プロパティ] > [デジタル署名] > [署名の選択] > [詳細...] に移動すると、「このデジタル署名は無効です」と表示されます。これは、重大な問題である可能性が高いものを表示するための非常にあいまいな方法であり、ファイルを実行してはならない大きな指標です。
- このファイルを (ダウンロードせずに) Windows から実行すると、正常に実行されます。何か問題があるという警告や兆候はありません
- ファイルをダウンロードして実行しようとするとどうなるかは確認していません。
( delcertを使用して) ファイルから署名を取り除いても、何か問題があるという兆候はありません。繰り返しますが、ファイルを実行できますが、プロパティ ダイアログに証明書が表示されません。
これをより便利にするために、署名されたファイルはそれ自体を検証する必要があると考えています。起動時に、有効な署名があること、および署名の sha1 フィンガープリントが Xyz Corporation 証明書の予期される署名と一致する可能性があることを確認する必要があります。
(確かに、これは誰かが証明書を削除してから、ファイルを編集して証明書チェックを削除する状況を処理しません)
これを行う方法について話している人を見つけることができません(少なくとも.NETではなく、私が期待するような単純なAPI呼び出しでは確かにそうではありません)-したがって、これはいくつかの質問につながります:
- 署名がチェックされない理由はありますか? このチェックなしで署名することには、他にどのような利点がありますか?
- 改ざん検出の手段として署名を検証しようとするのは無駄で、試す意味がありませんか?
- .NET で現在の実行可能ファイルの証明書を確認するにはどうすればよいですか?
c# - .NET の Authenticode 署名ファイルからタイムスタンプを取得する
バイナリ ファイルがデジタル署名 (Authenticode) で適切に署名されていることを確認する必要があります。これは、signtool.exe で非常に簡単に実現できます。ただし、署名者名とタイムスタンプも検証する自動方法が必要です。CryptQueryObject()
これは、次のすばらしいサンプルに示すように、APIを使用してネイティブ C++ で実行できます。Authenticode署名付き実行可能ファイルから情報を取得する方法
ただし、私たちは管理された世界に住んでいます:)したがって、同じ問題に対するC#ソリューションを探しています。直接的なアプローチは、pInvoke Crypt32.dll であり、すべてが完了します。System.Security.Cryptography.X509Certificates
ただし、名前空間には同様のマネージ API があります。X509Certificate2
クラスはいくつかの情報を提供しているようですが、タイムスタンプはありません。ここで、C シャープでデジタル署名のタイムスタンプを取得するにはどうすればよいかという最初の質問にたどり着きました。