[英]What is the simplest way to implement encryption in WCF when using the netTcpBinding?
我正在實施 WCF 服務,該服務將(部分)在專用 LAN 中使用。
我將使用 netTcpBinding 並希望在通信中實現某種形式的安全性,更具體地說,重要的是對數據進行加密,以便(例如)沒有人可以查看通過網絡傳輸的數據。
我不相信 Windows 身份驗證是合適的,因為最終用戶可能不會嚴格地維護他們的 windows 登錄名和角色以將它們用作身份驗證。 我認為這會使其不合適嗎? 如果我錯了,請糾正我。
我的問題是,使用 netTcpBinding 在 WCF 服務中實現加密的最簡單方法是什么? 特別是當 Windows 憑證類型不可用時。
我嘗試過使用證書(使用 makecert 生成我自己的證書),但明顯缺乏描述如何使用 TCP 並在 IIS 以外的其他地方托管服務的教程和文檔。 他們中的許多人詳細地告訴您如何生成證書(在這方面,這些教程中沒有兩個完全相同)並通過說類似的話結束
使用這些來簽署服務和客戶端
......不幸的是,這是我需要更多澄清的過程!
一般來說,證書解決方案似乎太過分了,只是為了獲得加密數據而有點太多了!
對我可能做出的任何假設的任何幫助或更正將不勝感激。
在評論中的討論之后......
根據我的經驗(我已經完成了很多序列化/WCF 工作),NetTcpBinding(和 NetDataContractSerializer)的性能“好處”在很大程度上是神話般的。 我從未見過顯着的差異 - 通常香草 http 綁定更快。
我會通過 SSL 切換到 BasicHttpBinding,這很容易設置並且很安全。
如果您想要提高性能等,我會將序列化程序切換到 protobuf-net 之類的東西(披露:我是作者)。 這確實很容易證明性能優勢,並且在 WCF(只是對配置文件的更改)中運行良好,尤其是在 BasicHttpBinding 上(如果啟用 MTOM 消息編碼,則會有額外的提升,因為它是二進制格式)。
就個人而言,我從不使用 NetTcpBinding; 如前所述,性能值得懷疑,如果您發現需要 WAN 訪問,它會讓您依賴在基本 http 中不起作用的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.