【问题标题】:Cannot find a token authenticator for the 'System.IdentityModel.Tokens.X509SecurityToken' token type找不到“System.IdentityModel.Tokens.X509SecurityToken”令牌类型的令牌身份验证器
【发布时间】:2011-02-18 08:12:21
【问题描述】:

我正在使用 .NET 中的 Java Web 服务作为 WCF 服务。

该服务有一个 HTTPS 端点,并要求使用客户端证书对消息进行签名。

我已设置 WCF 跟踪,并使用服务跟踪查看器可以确认请求已按预期签名和发送,并且服务返回了有效响应。但是我的控制台应用程序不接受响应。而是抛出以下异常:

找不到令牌验证器 这 'System.IdentityModel.Tokens.X509SecurityToken' 令牌类型。该类型的令牌不能 按照现行规定接受 安全设置。

我做错了什么?

【问题讨论】:

    标签: web-services wcf-security


    【解决方案1】:

    显然,WCF 和此 Java Web 服务实现此类安全性的方式存在微小但显着的差异(可能特定于此服务或可能是一般 Java 问题)。

    收到正确的响应,但 WCF 无法解释令牌元素。

    我的解决方案,或者更确切地说是变通方法,是利用 WCF 的前身 WSE(Web Service Enhancements 3.0)。

    对 Microsoft.Web.Services3 程序集的引用、大量挠头 (WTF) 和包括MutualCertificate10Assertion 在内的冗长代码工作,后来我得到了回复。

    【讨论】:

    • 我在使用 WCF 客户端的 IBM DataPower 服务时遇到了同样的问题。您可以将代码示例发布或通过电子邮件发送给我吗?
    • 我以不同的方式解决了这个问题。见 [链接] (stackoverflow.com/questions/5503684/…)
    • 令人失望的是,这个答案没有任何人实施相同解决方案所需的详细程度。
    猜你喜欢
    • 2012-09-20
    • 2012-07-21
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多