C# 错误:';ID1039:证书';无法访问的私钥

C# 错误:';ID1039:证书';无法访问的私钥,c#,azure,ssl,C#,Azure,Ssl,我正在azure中实现ADFS身份验证,但我面临以下问题: 类型的例外 中出现“System.Configuration.ConfigurationErrorsException” System.IdentityModel.Services.dll,但未在用户代码中处理 其他信息:ID1024:配置属性值无效 属性名称:serviceCertificate 错误:“ID1039:无法访问证书的私钥。 确保证书私钥上的访问控制列表(ACL) 授予对应用程序池用户的访问权限 指纹:“df113454

我正在azure中实现ADFS身份验证,但我面临以下问题:

类型的例外 中出现“System.Configuration.ConfigurationErrorsException” System.IdentityModel.Services.dll,但未在用户代码中处理

其他信息:ID1024:配置属性值无效

属性名称:
serviceCertificate

错误:“ID1039:无法访问证书的私钥。 确保证书私钥上的访问控制列表(ACL) 授予对应用程序池用户的访问权限

指纹:“df113454dsf1321(这里的值是我更改的值)”

当我右键单击证书,然后单击所有任务时,它不会显示管理私钥的选项,并授予IIS用户访问权限。 我如何解决这个问题。 web.config文件内容:

<serviceCertificate>
        <certificateReference x509FindType="FindByThumbprint" findValue="dfdsfdfdf(here I changed the value)" storeLocation="LocalMachine" storeName="My" />
</serviceCertificate>

我也遇到了同样的问题。修复方法是,允许AppPool用户(网络服务)读取证书私钥)

  • 通过运行MMC.exe打开MMC管理单元
  • 选择文件->添加/删除管理单元。选择证书并单击“添加”
  • 选择“计算机帐户”。单击Finish。单击下一步
  • 向下钻取到个人->证书
  • 右键单击证书并选择“所有任务->管理私钥”
  • 添加网络服务并授予其“读取”权限
谢谢,
Shivesh

即使您拥有证书,也有可能私钥未安装在正确的位置。我收到了相同的错误,但是添加正确的用户(IIS AppPool\DefaultAppPool)是不够的。我还导入了.pfx:

在Windows 7上

-打开MMC
-添加证书管理单元以管理本地计算机
-右键单击个人存储,所有任务->导入
-选择.pfx文件(不是默认的.crt/.cer)
-输入密码,完成向导


这让我的本地站点在我谷歌搜索的其他站点都不工作的情况下工作。

请检查特定应用程序的应用程序池设置。
应用程序池中的高级设置:标识应为NetworkService。

您使用的是Microsoft Azure虚拟机吗?管理私钥仅在本地计算机存储中可用,而不是当前用户?在我的情况下,IIS\u IUSRS是正确的帐户。网络服务不起作用。我尝试使用网络服务帐户,但不起作用。IIS_IUSRS为我工作。