During processing of the Federation Service configuration,the element ‘serviceIdentityToken’ was found to have invalid data. The private key for the certificate that was configured could not be accessed.
在Web应用程序中输入凭据后,此错误将记录在域#1上的ADFS服务器事件日志中.即使有工作凭据,我也会被传递到401未经授权的访问页面.
运行ADFS服务的用户帐户具有对证书私钥的权限,因此我不确定为什么会收到此错误.
到目前为止我做了什么:
>在域#1上创建了一个服务器并安装了ADFS 2.0
>在域#2上创建了一个服务器并安装了ADFS 2.0
>在域#1上使用VS 2010创建了第三个开发服务器
>在开发服务器上构建一个简单的应用程序,使其可以识别联合(根据http://msdn.microsoft.com/en-us/library/bb897402.aspx);在web.config中,联合服务器设置为域#1上的服务器
我还没有在任何一个ADFS服务器上建立信赖方信任.这有必要吗?我似乎无法找到任何好的文档来解释这应该如何工作.
我已经按照这个(http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-and-integrating-it-with-adfs-2-0-security-token-service-sts.aspx)指南进行了设置,但我觉得可能有一个简单的步骤我错过了某个地方.
总结一下:
>为什么我上面会出现证书错误?
>我是否遗漏了设置ADFS的任何步骤,以便我可以针对这两个域进行身份验证? (我可能错过了将两个ADFS服务器链接在一起的步骤)
在此先感谢任何帮助.熟悉ADFS的人可能会在几分钟内完成这个任务!
因此,您的第二个问题的答案是将域1中的adfs上的声明提供商信任配置为指向域2中的adfs,并声明规则以转换/传递从domain1中的adfs收到的声明.然后,域2中的adfs还需要配置为依赖方信任,以指向adfs 1,您可以在其中选择要收集和发送的声明.
至于问题1,它肯定看起来像adfs中的服务通信证书的私钥是不可访问的.如果您将adfs安装为服务器场,则将拥有基于域的服务帐户.如果您将其构建为独立的adfs,它将使用内置网络服务帐户.此选择决定如何配置证书的权限.
你提到了adfs角色和adfs 2.0所以我不确定你是在两台服务器上使用adfs 2还是在Windows 2008 / R2附带的内置角色.请澄清.
这些分步指南应该有所帮助.
对于所有adfs,请参阅
http://social.technet.microsoft.com/wiki/contents/articles/2735.ad-fs-2-0-content-map.aspx