如何针对这组安全要求配置 WCF 客户端
Posted
技术标签:
【中文标题】如何针对这组安全要求配置 WCF 客户端【英文标题】:How to configure WCF client for this set of security requirements 【发布时间】:2012-10-29 18:18:23 【问题描述】:我的客户有一些 SAP 服务,我需要调用它。我有预先生成的代理类,一切正常(当他们禁用安全性时),现在我需要启用他们的安全策略。他们给了我这个“规范”:
SOAP 1.1 SSL 仅 WS-Security 签名,可选加密...http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf
他们服务的 SAP 声明:
XML 签名的消息格式
SOAP 消息必须包含以下数据:
a) BinarySecurityToken 与 值类型“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3” 和 EncodingType "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
b) 时间戳元素
c) 签名签名时间戳和正文,使用直接引用引用 BinarySecurityToken。
d) 摘要算法为http://www.w3.org/2000/09/xmldsig#sha1
e) 签名算法为http://www.w3.org/2000/09/xmldsig#rsa-sha1
这些信息足以让我完成这项工作吗?我不是 WCF 安全方面的专家,因此我很乐意提供任何帮助和有用的资源。
【问题讨论】:
【参考方案1】:听起来您需要利用 WCF 消息检查器来拦截您发送和接收的消息并应用自定义的 soap 标头。
查看以下链接以获取有关如何实施它们的一些指导:
-
MSDN - IDispatchMessageInspector - 修改发送的消息
MSDN - IClientMessageInspector - 拦截和阅读您收到的消息
Paolo Pialorsi Blog - Writing a WCF Message Inspector
Kirk Evans Blog - Modify Message Content With WCF
Steven Cheng Article - How to inspect and modify WCF message via custom MessageInspector
希望这会有所帮助。
【讨论】:
你刚刚成功地把我吓坏了 :) 我要去看看,谢谢 ;) 哈哈...如果您有任何其他问题,请回帖,我不久前实施了其中一些,并且知道设置起来可能很繁琐。 @Tanner 嘿伙计,单独的问题。抱歉恢复旧线程。我的 WSDL 包含一个时间戳,但它也需要对其进行签名。如何手动签署我的时间戳? (它是安全标头(WS-Security)的一部分)我对此有疑问:***.com/questions/50876441/…【参考方案2】:我觉得你应该问问对方等待的肥皂信封。然后可能使用 CustomBinding 或实现 Message Inspector 接口。
【讨论】:
以上是关于如何针对这组安全要求配置 WCF 客户端的主要内容,如果未能解决你的问题,请参考以下文章
从 .Net 2.0 客户端调用 WCF 服务时如何配置安全性