IIS 10 System.Security.Cryptography.CryptographicException:拒绝访问

时间:2016-11-16 12:59:34

标签: identityserver3

我目前使用这个样本作为我的试验台。 IdentityServer3.Samples /源极/ MembershipReboot /

我已经分配了正确的权限并阅读了有关此问题的其他几篇帖子,但我仍然拒绝访问。

我的IIS应用程序在applicationpoolidentity下运行。

2 个答案:

答案 0 :(得分:1)

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

  1. 将证书安装在当前用户的个人目录中。 (Help
  2. 将专用应用程序池分配给IdSrv3虚拟应用程序或网站。 (Help
  3. 将您的用户指定为专用应用程序池的标识。 (Help
  4. 运行IIS的用户必须对您放置它的证书存储区具有读取权限。 ApplicationPoolIdentity没有此权限。

答案 1 :(得分:0)

确定。让我们专注于解决方案。

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

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

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

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

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