2012-11-09 55 views
4

我的客戶端有一些我需要調用的SAP服務。我有預先生成的代理類,一切都正常工作(當安全禁用時),現在我需要啓用它們的安全策略。他們給了我這是 「規範」:如何爲這組安全要求配置WCF客戶端

  • SOAP 1.1
  • SSL只
  • 的WS-Security簽名,加密可選...

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf

SAP statment爲他們服務:

Messag爲XML簽名Ë格式

SOAP消息必須包括以下數據:

一個)的BinarySecurityToken與 值類型 「http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3」 和編碼類型 「http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary

b)中Timestamp元素

c)中籤名簽名Timestamp和Body,使用直接引用來引用BinarySecurityToken。

d)摘要算法是http://www.w3.org/2000/09/xmldsig#sha1

E)簽名算法是http://www.w3.org/2000/09/xmldsig#rsa-sha1

這是足夠的信息,讓我得到這個工作?我不是WCF安全專家,所以我會很樂意提供任何幫助和有用的資源。

回答

3

聽起來像是你需要利用WCF消息督察,可以攔截你發送消息和收到和應用自定義SOAP頭。

檢查下面的鏈接以獲得一些指導如何實現它們:

  1. MSDN - IDispatchMessageInspector - 修改消息發送
  2. MSDN - IClientMessageInspector - 攔截和讀取消息您收到
  3. Paolo Pialorsi Blog - Writing a WCF Message Inspector
  4. Kirk Evans Blog - Modify Message Content With WCF
  5. Steven Cheng Article - How to inspect and modify WCF message via custom MessageInspector

希望這會有所幫助。

+1

你剛剛成功地嚇到了我的男人:)我要去看看它,謝謝;) – rouen

+0

哈哈...回覆如果你有任何進一步的問題,我實施了一些這些回來並知道它可以很難安裝。 – Tanner

0

我想你應該問一下對方等待的Soap Envelope。然後可能使用CustomBinding或實現Message Inspector接口。