15

システムに既にインストールされている EXE ファイルの Authenticode 署名を検証するインストーラー DLL の関数を作成しています。

関数は次のことを行う必要があります。

A) 署名が有効であることを確認します。
B) 署名者が当社の組織であることを確認します。

これはインストーラーに含まれており、古い Win2k インストールで実行する必要があるため、CAPICOM.dll に依存したくありません。ターゲット システムにない可能性があるからです

WinVerifyTrust API は (A) を解決するのに最適です。

問題の EXE に署名した証明書と既知の証明書 (またはその中のプロパティ) を比較する方法を見つける必要があります。

4

2 に答える 2

24

CryptQueryObjectを使用する必要があります。

このKB記事は、使用法を示しています:Authenticode署名付き実行可能ファイルから情報を取得する方法

Windows-APIなしでそれを行う方法について尋ねたコメント投稿者には、それを実行できるライブラリはありませんが、形式はここに文書化されています:Windows Authenticode Portable Executable Signature Format

于 2008-11-21T08:13:30.837 に答える
0

署名が有効な場合、その証明書チェーンには証明書が含まれます。CertGetCertificateChainはそのチェーンを取得します。

于 2008-11-20T13:19:17.290 に答える