3

exe のデジタル署名を検証する C# プログラムを作成しようとしています。exe は Authenticode 証明書で署名されており、改ざんを検出したいと考えています。

ここで説明されているように、SignedCms インスタンスを作成できました: Get timestamp from Authenticode Signed files in .NET

SignedCms.CheckSignature でうまくいくと思っていましたが、このメソッドは決して例外をスローしません... exe の一部を変更しても例外ではありません...

4

2 に答える 2

5

.NET Frameworkのドキュメントを精査し、必要なものが見つからなかったと思います。このStackOverflowの質問への回答には、ネイティブのWindowsCryptQueryObject関数を使用して署名を検証する方法を説明するリンクがあります。あとは、 PInvoke.NETをチェックして、その関数を.NETに組み込む方法を確認するだけです。

于 2011-10-02T04:20:32.357 に答える
0

にシェルしてsigntool.exe /verify、結果を確認していただけますか?

私は最近、同じ方法を使用して実行可能ファイルに署名する簡単なアプリを作成しましたが、うまく機能します。

MSDN の Signtool

于 2011-10-01T21:11:31.373 に答える