2

我们正在使用带有 HttpWebRequest 的 ClientCertificate 身份验证。对于客户端证书身份验证,我们从 Pfx 文件创建 X509Certificate 并附加到传出的 HttpWebRequest。

我们看到的是,在创建请求后,我们看到了文件夹中的许多临时文件:C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

随着我们提出更多请求,我们看到在 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 文件夹中创建的临时文件数量不断增加。

我们从 pfx 文件创建证书,然后设置密钥容器。使用 CryptoKeySecurity 和 CryptKeyAccessRule 授予显式访问权限。私有方法 SetKeyContainerSecurity 采用 CspKeyContainerInfo 和 CryptoSecurity。然后它使用 CryptAcquirecontext 和 CryptSetProvParam 来设置密钥容器的安全性。

我们面临的问题是在磁盘中创建大量临时文件的位置:C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys。

确保删除这些临时文件的正确方法是什么。

4

1 回答 1

1

http://support.microsoft.com/kb/931908上的修补程序是否相关?它解决了“在基于 Windows Server 2003 或基于 Windows Server 2008 的客户端计算机上,系统不会删除应用程序调用“CryptQueryObject”函数时创建的临时文件”的问题

于 2012-10-25T16:43:13.273 回答