WCF開發框架形成之旅 您的資料是否需要加密

2021-09-07 23:53:03 字數 1599 閱讀 9231

》中,介紹了我自己的winform開發框架的一些基礎知識及擴充套件而成的wcf開發框架,上篇隨筆只是基於快速應用搭建而成的wcf框架,並沒有考慮到資料安全性的問題,在網際網路的環境中,資料的安全性是必須考慮的一道門檻,否則明文資料滿天飛,猶如人在大街上裸奔一樣令人不安,除非是你認為你的應用資料無關緊要。本文主要通過技術對比,介紹如何建立乙個winform客戶端測試wcf服務,並說明為什麼需要在wcf服務中對資料進行加密。

為了對wcf專案進行介紹講解,我們建立乙個測試的wcf服務專案,並建立乙個winform的客戶端進行測試,如下圖所示。

建立專案後,會自動新增乙個服務的測試例子,我們就以該服務的測試例子進行介紹。建立服務後,我們在本地把服務連線開啟,進行瀏覽,看到下面的介面,表示服務執行正常。

》 即可,把窗體繪製一下,並增加乙個按鈕操作,測試wcf服務介面。

按鈕操作實現**如下:

void button1_click(object sender, eventargs e)

catch (exception ex)

} 執行客戶端程式,測試功能,並得到返回結果,如下所示。

一切似乎都很順利,很完美,不是嗎,建立服務,建立客戶端呼叫,都非常方便快捷,而且是基於網際網路的引用哦。但是,我們先留意一下,通過該操作實現的服務以及客戶端呼叫,資料傳輸情況是如何的。我這裡通過http網路包分析工具http analyzer來對資料進行監控看看,如下所示。

可以看到,輸入及輸出的結果全部是明文,可以完全看到,沒任何秘密可言,當然,你也可以對這些資料自己加密後傳送出去,但是每個介面,大量資訊也要這樣自己手工加密嗎,難道微軟的wcf那麼弱智?當然不是,這些操作交給wcf處理會便捷很多,傳說中有乙個x509的證書加密,不過如果是第一次搞這個,要完全調通要走不少彎路,我就是參考了很多文章(很多文章都介紹了一部分內容,很少能系統性的給你提出完全的解決方法),遇鬼殺鬼,遇佛拜佛,這樣慢慢才有乙個清晰的思路,逐步解決問題,最終才有心思來寫這篇文章,後面的隨筆我會介紹完整的解決思路來處理x509加密的操作。

通過x509加密處理後,我們看到下面的效果。

裡面的內容,包括輸入及獲取到的輸出內容,均被加密的亂七八糟,一塌糊塗,即使是在公網中,看到也是白搭,不知是美女還是野獸。

web.config 部分內容:

WCF開發框架形成之旅 如何實現X509證書加密

在前面幾篇文章,均介紹了一些wcf服務的開發經驗,對於資料的加密傳輸,重要性不言而喻。關於在wcf使用證書加密的重要性,在上篇隨筆 有詳細的介紹,特別對於重要的 敏感的資料,加密傳輸非常重要。首先先介紹一下前人對wcf開發中應用證書加密的一些思路介紹,個人覺得比較靠譜的是這兩篇文章 1 2 usin...

WCF開發框架形成之旅 如何實現X509證書加密

在前面幾篇文章,均介紹了一些wcf服務的開發經驗,對於資料的加密傳輸,重要性不言而喻。關於在wcf使用證書加密的重要性,在上篇隨筆 有詳細的介紹,特別對於重要的 敏感的資料,加密傳輸非常重要。首先先介紹一下前人對wcf開發中應用證書加密的一些思路介紹,個人覺得比較靠譜的是這兩篇文章 1 2 usin...

針對 WCF 資料壓縮開發包壓縮效率的測試比較

在關於 wcf 中資料壓縮的幾篇文章中大概介紹了針對wcf的壓縮,下面對裡面提到的兩個開發包進行測試。目前能找針對wcf的壓縮擴充套件主要有兩個,乙個是ms在technologysamples提供的,另外乙個是ws compression for wcf http weblogs.asp.net c...