在Windows Server 2008 R2中访问证书的私钥

时间:2012-01-26 18:15:38

标签: wcf certificate key private

在我之前的部署环境中一切顺利运行之后,我已将我的网站移动到服务器2008 R2框...

我有一个支持Silverlight的wcf服务(在IIS中)调用另一个外部服务,但是我的wcf服务无法找到访问外部服务所需的证书。

证书CN=blahblah.com, OID.1.2.840.113549.1.9.2=MyName, OU=MyCompany, O=Provider Group可能没有能够进行密钥交换的私钥,或者该进程可能没有私钥的访问权限。有关详细信息,请参阅内部异常。

我的网站(及其wcf服务)在自定义应用程序池下运行,我已添加该应用程序池帐户以访问证书。我已经通过winhttpcertcfg.exe工具的-l开关验证了此帐户的访问权限。

证书位于本地计算机 - 个人(我的),我的web.config文件与此匹配:

<clientCertificate findValue="blahblah.com" storeLocation="LocalMachine" 
 storeName="My" x509FindType="FindBySubjectName" />

我还使用了FindPrivateKey.exe工具来发现私钥的文件路径(D:\Users\\myaccountname\AppData\Roaming\Microsoft\Crypto\RSA),并且我在此路径上给了“所有人”权限,但仍然没有运气。< / p>

使用ProcMon,我可以看到正在查询文件夹D:\Users\\theApplicationPoolAccount\AppData\Roaming\Microsoft\Crypto\RSA\。当我调用我的服务以便查看当前用户时(这很奇怪)因为我的web.config明确指定在LocalMachine\My中查找证书...

当我安装证书时,最初它进入CurrentUser\My商店(我没有选择安装到LocalMachine\My),但我可以将证书拖入LocalMachine\My商店

有没有人有幸在Windows Server 2008中读取证书的私钥?

0 个答案:

没有答案