4

我的客户有一些 SAP 服务,我需要调用它。我有预先生成的代理类,一切正常(当他们禁用安全性时),现在我需要启用他们的安全策略。他们给了我这个作为“规范”:

  • 肥皂 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) 具有 ValueType“ http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 ”和 EncodingType“ http://docs.oasis ”的 BinarySecurityToken -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 安全方面的专家,因此我很乐意提供任何帮助和有用的资源。

4

2 回答 2

3

听起来您需要使用 WCF 消息检查器,它可以拦截您发送和接收的消息并应用自定义肥皂标头。

检查以下链接以获取有关如何实施它们的一些指导:

  1. MSDN - IDispatchMessageInspector - 修改发送的消息
  2. MSDN - IClientMessageInspector - 拦截和阅读您收到的消息
  3. Paolo Pialorsi 博客 - 编写 WCF 消息检查器
  4. Kirk Evans 博客 - 使用 WCF 修改消息内容
  5. Steven Cheng 文章 - 如何通过自定义 MessageInspector 检查和修改 WCF 消息

希望这可以帮助。

于 2012-11-09T13:44:00.943 回答
0

我想你应该问问对方等待的肥皂信封。然后可能使用 CustomBinding 或实现 Message Inspector 接口。

于 2012-11-12T17:14:29.627 回答