1. 程式人生 > >項目中使用WCF替換asmx Web service總結

項目中使用WCF替換asmx Web service總結

ade 方案 bsp 服務器安裝 計算機 可能 客戶 不同的 基本

以前項目解決方案中,用http協議的asmx Web service作服務器數據訪問入口,在SoapHeader中寫入用戶名和加鹽密碼進行身份認證。

但http asmx服務都是明文傳輸,數據在傳輸過程中很容易被截取、篡改。在內網使用、用戶量小、安全問題不嚴重時可以采用。

因項目發展,需要對服務器進行改造,升級成更高級的安全方式。

最先想到的是將http協議改用https,解決數據明文傳輸和有可能被篡改問題。

但是,https傳輸存在兩個問題:1是客戶機要安裝證書,2是運行環境中客戶機與服務器之間可能存在安全接入邊界系統,傳輸層加密存在諸多問題和不確定性。

因此,決定采用WCF Message加密方案,不使用Transport安全模式,保持http傳輸協議。這樣客戶機與服務器通信數據可以通過安全接入邊界系統,不同的網絡結構對用戶基本是透明的。

實現WCF Message安全方案的步驟:

1,創建服務證書:Visual Studio Tools命令提示符下執行(假設證書名為WCFServerCA,實際可以替換為自己想要名)

makecert -r -pe -n "CN=WCFServerCA" -sr LocalMachine -ss My -sky exchange

2,運行MMC控制臺,從本地計算機節點證書內導出WCFServerCA證書,保存為帶私鑰的證書文件,擴展名為.pfx。導出時要輸入密碼,該密碼要在導入時使用。
3,在運行服務的計算機上導入該.pfx證書,導入到受信任的根證書頒發機構和受信任人下。此證書可以保存起來,供其他服務器安裝時使用。

4,

項目中使用WCF替換asmx Web service總結