ドライバーを作成していて、その中の PE ファイルの署名を確認する必要があります。ユーザーモードでそれを行う方法を知っており、http://forum.sysinternals.com/topic19247.html[^] に従って正常に動作しますが、ドライバーで同じことを行う必要があり、次のようなヘッダーを使用できません私のドライバーの「wintrust.h」なので、私は無知です。カーネル モードで PE 署名を検証する方法について何か提案はありますか?
ありがとう
残念ながら、セルフチェックでは何も得られません。ドライバーを改ざんするものは、チェックも削除します。ただし、教育上のニーズにとって、これは興味深いがやりがいのある作業です。
Authenticode 検証を自分で実装する必要があります。Authenticode は、PKCS#7/CMS および X.509 証明書に基づいています。これらすべてをカーネル モードで再実装する必要があります。
RSA の実装は簡単ですが、ASN.1 パーサーと PKCS7 形式の処理ははるかに複雑です。カーネル モードに適応できる既存の C コードを見つけたいと思うかもしれません。たとえば、cryptlibを確認できます。Cryptlib は CMS をサポートしており (これは必要なものです)、クロスプラットフォームに対応しているため、カーネル モードに適応させるのに問題はありません。