我的情景:驗證主叫/服務器在WCF
- 許多WCF客戶端這是在環境中我控制範圍之外的
- 服務器要麼是我的還是我的控制之外的環境
因此,最糟糕的情況是客戶端和服務器超出了我的控制範圍。更具體地說,我可能會認爲託管此代碼的人可能會嘗試惡意地模擬服務器或客戶端(服務器更可能)。但是,客戶端需要驗證服務器是我的代碼,服務器需要驗證客戶端是我的代碼。我已經看到所有使用證書的建議;然而,這是一個選擇給我的場景?
我考慮的一種方法是編寫IClientMessageInspector和IDispatchMessageInspector來設置和驗證雙方的自定義SOAP頭。我將根據源代碼中包含的密鑰創建一個HMAC簽名(假設我有一種方法可以將其隱藏),然後根據消息正文驗證摘要。
我覺得這樣會工作;不過,我覺得我可能會有更多現成的東西,我在這裏失蹤了。我關門了嗎?感謝您的任何指導!
要清楚的是,我的服務器將託管在可能不受信任的各方的基礎設施上,這意味着如果我使用SSL或其他證書,不受信任方也可以訪問此證書。雖然我可能在這裏錯過了一些東西...... – toddkitta 2011-02-01 16:17:39