0

ファイルを含むメモリへのポインターを受け取りました。ファイルに証明書 (デジタル署名) が埋め込まれているかどうか、およびそれが有効かどうかを確認する必要があります。過去に、WINTRUST_ACTION_GENERIC_VERIFY_V2 フラグでこれをチェックするために winverifytrust を使用しましたが、これはディスク上のファイルに対してのみです (ディスクに書き込まれる前に、ドライバーからメモリへのポインターを取得しています)。これによると、WINTRUST_BLOB_INFO構造でwinverifytrustを使用することを考えまし:

WinVerifyTrust を呼び出してメモリ BLOB を検証するときに使用されます。

残念ながら、ドキュメントには次のように記載されています。

注: この構造は、現在、次の受信トレイ ファイル形式ではサポートされていません。これら以外にも、サポートされていない形式が存在する場合があります。ポータブル実行可能ファイル (.exe、.dll、.ocx など) Cab ファイル (.cab) カタログ ファイル (.cat)

C# でX509Certificate(byte[])コンストラクターを使用してファイルの証明書を取得し、 X509chain.Build(X509Certificate2)関数を使用してチェーンをチェックすることもできましたが、winverifytrust が行う検証はこれに含まれていません。チェックします (例: ファイルが署名されてから改ざんされていないかどうかをチェックします)。

4

0 に答える 0