簡體   English   中英

使用 netTcpBinding 時,在 WCF 中實現加密的最簡單方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM