Iis 7 IIS7&;X.509证书:从asp.net连接到web服务-在哪里存储证书?

Iis 7 IIS7&;X.509证书:从asp.net连接到web服务-在哪里存储证书?,iis-7,x509,Iis 7,X509,我必须从web应用程序连接到XMLRPC站点,该应用程序使用X.509证书进行身份验证。在我的开发机器(Vista)上,我在我的用户下安装了密钥,它位于我的个人证书存储中;如果我运行代码,它运行良好(从文件加载密钥): 但我需要在Windows 2008 Web服务器上安装此应用程序,但我未能找到如何使其使用此证书文件 我认为我需要导入所有对应的“父”键,所以我这样做了。 我尝试将它们全部导入到受信任的根证书存储中,但没有成功:它仍然表示不正常 我应该使用模拟帐户,并拥有所有证书吗? 是否应配置

我必须从web应用程序连接到XMLRPC站点,该应用程序使用X.509证书进行身份验证。在我的开发机器(Vista)上,我在我的用户下安装了密钥,它位于我的个人证书存储中;如果我运行代码,它运行良好(从文件加载密钥):

但我需要在Windows 2008 Web服务器上安装此应用程序,但我未能找到如何使其使用此证书文件

我认为我需要导入所有对应的“父”键,所以我这样做了。 我尝试将它们全部导入到受信任的根证书存储中,但没有成功:它仍然表示不正常

我应该使用模拟帐户,并拥有所有证书吗?
是否应配置IIS7以使用此用户/证书存储?

我相信IIS可以访问两个证书存储:机器存储和其服务存储。在mmc.exe中,打开证书管理单元,并连接到本地计算机的存储。在Personal\ Certificates中,您应该可以找到服务器证书。尝试将您的证书和私钥放在它旁边。或者,连接到服务商店(万维网发布服务),并将证书放在Personal中。

唯一的解决方案是

1) 将根密钥导入本地\u MACHINE\root证书存储

2) 将根密钥导入(您的用户)\root证书存储

3) 在asp.net代码中,使用模拟,如:


出于某种原因,然而IIS7的所有进程都在NT_AUTHORITY\NETWORK user下运行,将证书安装到网络用户的存储没有任何用处

 X509Certificate clientcert = new X509Certificate(this.certFile, this.password);
 request.ClientCertificates.Add(clientcert);