Bill Zeller が示したものよりも前のバージョンの Windows でも動作するバージョンが必要な場合は、次を使用できます。
CryptQueryObject一緒に使うCERT_QUERY_OBJECT_FILE
- 前回の通話で受け取ったで使用
CryptMsgGetParamしますCMSG_SIGNER_CERT_INFO_PARAMHCRYPTMSG
CertCompareIntegerBlob既知の(証明書)シリアル番号(またはループ内の番号)をファイル内のシリアル番号と比較するために使用します
既知のシリアル番号のいずれかが一致すれば完了です。すべての比較が失敗した場合、それはあなたの証明書ではありません。
注:ファイル プロパティ ダイアログで証明書のシリアル番号を確認すると、そこに表示されるバイトは、 から取得したPCERT_INFO( CERT_INFO::SerialNumber) の内容と比較すると逆の順序で表示されますCryptMsgGetParam。そのため、比較する前に、独自のシリアル番号を逆にして保存するか、それらを逆にしてください。
また、注意してください:WinVerifyTrustコード署名を完全に信頼できるものと見なすためには、証明書を信頼できるものとしてインストールする必要があります。使用されたのが自分の証明書であることを確認する方法についての部分を説明しました。