- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 customBinding 端点构建 WCF Web 服务,并且在接受另一方发送给我的 WS-Security header 时遇到问题。我们都遵循英国国家卫生服务局制定的规范,因此我无法修改要求。<wsse:Security>
的基本结构根据规范, header 应如下所示:
<wsse:Security>
<wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurityutility-1.0.xsd" wsu:Id="6CCF6A2B-11A6-11DF-86D1-236A99759561" >
<wsu:Created>2012-06-12T09:00:00Z</wsu:Created>
<wsu:Expires>2012-06-12T09:15:00Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken>
<wsse:Username>SomeUsername</wsse:Username>
</wsse:UsernameToken>
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsssoap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="30b91ede-35c2-11df-aac9-97f155153931 ">xxx...</wsse:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#RSA-SHA1" />
<Reference URI="#6CCF6A2B-11A6-11DF-86D1-236A99759561" />
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>xxx...</DigestValue>
</SignedInfo>
<SignatureValue>xxx...</SignatureValue>
<KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#30b91ede-35c2-11df-aac9-97f155153931 "/>
</wsse:SecurityTokenReference>
</KeyInfo>
</Signature>
</wsse:Security>
<customBinding>
<binding name="wsHttpSoap11" >
<textMessageEncoding messageVersion="Soap11WSAddressingAugust2004" />
<security authenticationMode="MutualCertificate">
</security>
<httpTransport/>
</binding>
</customBinding>
Cannot find a token authenticator for the 'System.IdentityModel.Tokens.UserNameSecurityToken' token type. Tokens of that type cannot be accepted according to current security settings.
<UsernameToken>
.如果我将绑定(bind)安全更改为:
<security authenticationMode="UserNameForCertificate">
Cannot find a token authenticator for the 'System.IdentityModel.Tokens.X509SecurityToken' token type. Tokens of that type cannot be accepted according to current security settings.
<BinarySecurityToken>
!
Message security verification failed.
System.Security.Cryptography.CryptographicException...
The signature verification failed.
at System.IdentityModel.SignedXml.VerifySignature(HashAlgorithm hash, AsymmetricSignatureDeformatter deformatter) at System.IdentityModel.SignedXml.StartSignatureVerification(SecurityKey verificationKey)...
最佳答案
您将需要从代码创建绑定(bind)。
var b = new CustomBinding();
var sec = (AsymmetricSecurityBindingElement)SecurityBindingElement.CreateMutualCertificateBindingElement(MessageSecurityVersion.WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10);
sec.EndpointSupportingTokenParameters.Signed.Add(new UserNameSecurityTokenParameters());
sec.MessageSecurityVersion =
MessageSecurityVersion.
WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10;
sec.IncludeTimestamp = true;
sec.MessageProtectionOrder = System.ServiceModel.Security.MessageProtectionOrder.EncryptBeforeSign;
b.Elements.Add(sec);
b.Elements.Add(new TextMessageEncodingBindingElement(MessageVersion.Soap11, Encoding.UTF8));
b.Elements.Add(new HttpTransportBindingElement());
关于wcf - 在 WCF customBinding 中同时接受 UsernameToken 和 BinarySecurityToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10999924/
我正在尝试获取 BinarySecurityToken登录以查看其 ID 和摘要。我按照说明操作 here但输出仍然是 使用 .NET 3.5我怎样才能得到这个记录?我不想使用像 Wiresha
我正在尝试使 CXF STS 与 509v3 token 一起使用。如果只配置了用户名 token ,它可以正常工作,但在 X509 上会失败。 我在 JBOSS EAP 6.3.1 中使用 CXF
我已成功测试使用 SoapUI (5.1.2) 连接到 SOAP 服务,现在我需要从 C# 应用程序生成 soap 请求。 我向 SoapUI 添加了一个 keystore ,其中存储了证书,并且 S
我正在创建一个客户端,该客户端正在使用客户提供给我的 Web 服务。现在,我确实知道请求正确通过了,因为 Fiddler 向我显示了预期的响应。但是,当此响应到达 Visual Studio 时,无法
我正在尝试在桌面应用程序中使用 C# 使用 Java Web 服务。 My first attempt正在使用 WebServicesClientProtocol,但我无法添加 WSSE Userna
我收到来自客户端的请求,经过一些数据屏蔽后,我将请求转发给 Web 服务。为了让 web 服务授权我,我必须发送 元素。我有一个 .pfx 证书文件,我需要从该证书生成安全 token 。请求的剩余
我正在尝试使用 python 用证书签署 SOAP 请求。我已经尝试过 python-zeep 及其 Signature 方法和 py-wsse 的泡沫。两者都没有给我预期的结果。 Zeep 给了我:
我正在尝试从 C# 客户端使用 Java Web 服务。该服务需要值类型为 X509PKIPathv1 的 BinarySecurityToken 元素。 MIIH...... 自 W
我一直在为这个问题绞尽脑汁,但就是无法让它发挥作用。我有一个我调用的 Web 服务,它生成一个安全 token ,然后需要将其传递给 SOAP header 内的后续服务调用。我让那部分工作得很好,但
我正在使用 customBinding 端点构建 WCF Web 服务,并且在接受另一方发送给我的 WS-Security header 时遇到问题。我们都遵循英国国家卫生服务局制定的规范,因此我无法
我不是 WCF 专家,我只知道服务安全的基础知识,所以我要指出的大部分内容可能都是错误的。也就是说,我需要调用一个 3d 方服务,该服务需要 SOAP header 的特定格式。他们要求 soap h
我正在使用 WSDL,我需要在发出 SOAP 请求时使用我的客户端证书签署时间戳和 SOAP 主体。 我的签名证书必须在消息中表示为 BinarySecurityToken,并像这样包含在 SOAP
我们可以通过添加 key 存储、传出 WS-安全配置(时间戳、用户名和签名)以及用户 token 、时间戳主体的命名空间来从 SOAP UI 工具调用 Web 服务,然后应用传出 wss -> 应用“
我是一名优秀的程序员,十分优秀!