WCF服务如何知道使用什么证书来解密传入的安全令牌?
我正在使用.NET4.5和基于令牌的安全性实现一个WCF服务。在客户端,我使用以前从STS检索到的令牌调用WCF服务如何知道使用什么证书来解密传入的安全令牌?,wcf,security,service,token,wif,Wcf,Security,Service,Token,Wif,我正在使用.NET4.5和基于令牌的安全性实现一个WCF服务。在客户端,我使用以前从STS检索到的令牌调用myfact.CreateChannelWithIssuedToken(),当我使用此通道调用服务时,我得到以下错误(在WCF服务跟踪中): 我怀疑这是因为服务无法解密传入的安全令牌,但我不知道为什么会这样。该证书位于LocalMachine\My存储中,并且具有关联的私钥 WCF如何定位所需的证书,在我的情况下,为什么它无法定位它?结果表明,服务证书就是使用的证书。当我纠正这一点时(通过旋
myfact.CreateChannelWithIssuedToken()
,当我使用此通道调用服务时,我得到以下错误(在WCF服务跟踪中):
我怀疑这是因为服务无法解密传入的安全令牌,但我不知道为什么会这样。该证书位于LocalMachine\My存储中,并且具有关联的私钥
WCF如何定位所需的证书,在我的情况下,为什么它无法定位它?结果表明,服务证书就是使用的证书。当我纠正这一点时(通过
旋钮:
<behavior name="my_service_behavior">
<serviceCredentials useIdentityConfiguration="true" identityConfiguration="identity">
<serviceCertificate
findValue="..."
x509FindType="FindByThumbprint"
storeName="My"
storeLocation="LocalMachine" />
</serviceCredentials>
</behavior>
一切都开始工作。您好,我有一些您的问题,您能给我发送完整的app.config吗?我三周后无法修复此问题。我没有app.config可用,但您需要确保端点的行为通过旋钮引用正确的证书。
<behavior name="my_service_behavior">
<serviceCredentials useIdentityConfiguration="true" identityConfiguration="identity">
<serviceCertificate
findValue="..."
x509FindType="FindByThumbprint"
storeName="My"
storeLocation="LocalMachine" />
</serviceCredentials>
</behavior>