IIS7和X.509证书:从asp.net连接到Web服务 - 在哪里存储证书?
题
我不得不作出从Web应用程序,它采用用于认证的X.509证书到XMLRPC站点的连接。在这里我的机器(Vista)的,我有我的用户下安装的钥匙和它在我的个人证书存储;如果我跑我的代码,它工作得很好(加载该文件中的键):
X509Certificate clientcert = new X509Certificate(this.certFile, this.password);
request.ClientCertificates.Add(clientcert);
但我需要一个Windows 2008 Web服务器上安装该应用程序,我没能找出如何使它使用该证书文件。
我想我需要进口所有相应的“父”键,所以我做到了。 我试着输入所有的人都受信任的根证书存储区,但没有运气:它仍然说这也不行
。我应该使用模拟帐户,并将其所有的证书吗? 应IIS7被配置无论如何与此用户/证书存储到工作?
解决方案 2
的唯一解决办法是
1)导入根钥匙插入LOCAL_MACHINE \根证书存储
2)导入根密钥到(用户)\根证书存储
3)在asp.net代码,使用模拟如下:
<identity impersonate="true"
userName="(your user)"
password="(your password)" />
出于某种原因,然而IIS7的所有工艺在本NT_AUTHORITY \ NETWORK用户下运行,安装证书NETWORK用户的商店没有使用任何。
其他提示
我相信,有一些IIS将有机会获得两个证书存储:本机存储,它的服务店。在MMC.EXE,打开管理单元证书,并连接到本地计算机的商店。在个人\证书,你应该找到服务器证书。试着将你的证书和私钥旁边。另外,连接到服务的商店(万维网发布服务),并把证书有到个人。
不隶属于 StackOverflow