2016-11-16 106 views

回答

1

我建议你使用IIS Local而不是Express来安全地进行更多的控制。我希望您能通过以下步骤获得成功:

  1. 将证书安装到当前用户的个人目录中。 (Help
  2. 将专用应用程序池分配给IdSrv3虚拟应用程序或网站。 (Help
  3. 将您的用户指定为专用应用程序池的标识。 (Help

运行IIS的用户必须对放置它的证书存储具有读取权限。 ApplicationPoolIdentity没有这个权限。

0

好的。让我们专注于解决方案。

首先,我从代码中添加了证书到用户密钥集,而不是机器密钥文件夹。

var certificate = new X509Certificate2(objApiCertficate.CertificateData,this.strApiPassword,X509KeyStorageFlags.UserKeySet); certHandler.ClientCertificates.Add(certificate);

然后,您必须在应用程序池中加载用户配置文件。 请在测试之前重新启动IIS。

我上传了一些截图在我的博客上。

https://guntucomputerhacks.blogspot.com.au/2017/08/systemsecuritycryptographycryptographic.html