1

私は ac# アプリケーションを開発しており、Pinvoke を使用してメソッドWinVerifyTrustを呼び出しています。

pinvoke 宣言はPinvoke.netで定義されているとおりです。

RevocationChecks は none に設定されています。

iExplorer でプログラムをチェックしようとすると、最初は問題なく動作し、ファイルのステータスも問題ありませんでしたが、突然 CERT_E_REVOCATION_FAILURE で失敗し始め、しばらくすると再び問題がなくなりました。

この奇妙な動作の原因は何ですか? 私が何か間違ったことをしているということですか?

4

1 に答える 1

1

デフォルトでは、WinVerifyTrust は関連する証明書失効リスト (CRL) をダウンロードして、証明書が明示的に失効していないことを確認しようとします。インターネットへの接続が安定しておらず、ダウンロードが失敗した場合、CERT_E_REVOCATION_FAILURE が返されます。

Windows SDK のいくつかのバージョンがインストールされている場合は、setreg ツールを使用して CRL のダウンロードを一時的に無効にすることができます。ただし、これは、表示されている問題が実際に CRL 接続に関連していることを確認するために一時的にのみ使用する必要があることに注意してください。

setreg.exe 3 FALSE

このツールのドキュメントは、MSDNで入手できます。

于 2012-08-14T07:58:02.450 に答える