Claims系列 - Keyset does not exist

部署环境:

Web应用程序部署在IIS7上。

 

错误现象:

image

 

原因分析:

Web应用程序需要对接收到的Security Token的数字签名进行序列化时, 由于运行Web程序的用户没有访问私钥的读权限导致。

 

解决方案:

1, 用FindPrivateKey.exe工具找出私钥文件名称及路径;

    假设已知公钥的thumbprint为“5988a04be6588fe61fae5cfba8d0b28aa27f83ef”,保存位置为Local Machine的My 文件夹;可使用如下命令:

image

注:FindPrivateKey的使用方法及下载路径为: http://msdn.microsoft.com/en-us/library/aa717039.aspx

 

2, 查看运行Web应用程序的用户;

    打开IIS管理工具,选中出错的Web程序(本例中为Issuer.Web),在右过的Action Pane中点击Basic Settings链接:

image

在弹出窗口中点击Connect as按钮:

image

此处选中Application user(pass-through authentication),在IIS7中一般默认为IIS_IUSRS组。

 

注:关于IIS7中的内置用户,详细可查看:http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis/

 

3, 将私钥文件的读权限赋给运行Web应用程序的用户;

打开私钥所有文件夹,右击私钥文件,在弹出菜单中点击Properties:

image

选中Security选项卡,并点击Continue按钮:

image

在弹出窗口中点击Add按钮:

image

在查找窗口中设置Locations为本机名称,在文本框中输入IIS_IUSRS,并点击右侧的Check Names按钮,当完整名称出现后,点击OK按钮。

image

在权限中选择框中选中Read权限,清空其它选项;并一路OK就行了。

image

转载于:https://www.cnblogs.com/beiguren/archive/2012/08/02/2619478.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值