0

署名済みの実行可能ファイルを検証したいと考えています。要件は、実行可能ファイル自体が有効であり、それがどこから来たか (おそらく証明書の対象から) を検証することです。証明書の種類は PKCS です。

ここで同様の投稿を見つけました 。Validate Authenticode signature on EXE - C++ without CAPICOM

とりわけ、Microsoft のドキュメントは CertGetCertificateChain を指しているように見えますが、例はストアにある証明書で機能する傾向があります。CertGetCertificateChain および関連する API を使用して署名済みの実行可能ファイルを検証する方法を知っている人はいますか?

4

2 に答える 2

0

詳細を教えていただけますか?あなたがリンクした質問はあなたが必要とするべきすべての答えを提供しているようです。

「例はストアにある証明書で機能する傾向がある」とあなたは言います。これは、実行可能ファイルがマシンの信頼できるストアのルート証明書にチェーンする証明書で署名される必要があることを意味します。

これは本当です; それを回避する方法はありません。そうでなければ、署名者が本人であると信頼する方法がなく、不正に使用されている場合にプロバイダーが証明書を取り消す方法もありません。

したがって、WinVerifyTrustは、署名された実行可能ファイルを検証する正しい方法です。ひどいAPIなので注意してください。CryptQueryObjectおよび関連するAPIは、証明書が発行された個人または会社の名前などの詳細情報を提供します。

于 2009-07-15T02:27:18.053 に答える
0

少し前にこの質問をしました。私はあなたの正確な要件を持っていました。そこにあなたを助けるサンプルコードがあります。楽しむ!!

于 2009-07-15T02:29:46.990 に答える