私は最近、非常に奇妙な問題に直面しました。当社の製品のコンパイルには、カーネルモードドライバーへの署名と副署名の追加が含まれます。これは、DDK(現在はWDK)に含まれているsigntoolの呼び出しを使用して行われます。
"%DDKBASE%\ 6001.18000 \ bin \ SelfSign \ signtool.exe" sign / T http://timestamp.globalsign.com/scripts/timstamp.dll / ac "path-to-countercert \ MSCV-GlobalSign.cer" / s SPC / n "EldoS Corporation"%1
署名されたドライバーにカウンター証明書が追加されていないことがわかった最近まで、すべてが正常に機能していました。signtoolはエラーを報告せず、証明書を黙って省略します。署名自体とメインの証明書チェーンが適切に適用され、欠落しているのは逆証明書のみです。
後のWDK(バージョン7600.16385.0)のSignToolは、同じコマンドラインを使用して正常に動作します。
問題のsigntool(同じフォルダーにあります)が付属しているcapicom.dllを再登録しようとしましたが、これは役に立ちませんでした。
7600.16385.0のsigntoolを使用できるかどうかはわかりません。たとえば、Windows2000との互換性が損なわれる可能性があるためです。
だから問題は、誰かが何がうまくいかなかったのかについての考えを持っているかどうかです。
Upd:ええと、7600 signtoolは正常に動作しているようです(つまり、そのバージョンで署名されたドライバーはXPとWindows 7で正常に動作します)。そのため、今はそのルートを使用し、将来的にはsigntoolを独自の自家製ツールに置き換えて回避します。驚き。