利用WSE 加密SOAP報文 5

2021-04-17 01:26:15 字數 1875 閱讀 2777

解密收到的報文

不管是在客戶端還是在伺服器端,wse

總是在securityinputfilter實現報文解密的,由於對稱加密需要由公共金鑰派生出來的加密金鑰,你需要建立乙個securityinputfilter能夠呼叫的方法來得到這個對稱金鑰,然後你就能使用包含在encrypteddata中的金鑰和演算法資訊來幫你找到正確的共享金鑰和加密演算法了。這個方法必須實現在從microsoft.web.services.security.idecryptionkeyprovider派生出來的類中。在我的例子中,decryptionkeyprovider.getdecryptionkey方法返回了對稱金鑰,如下:

public decryptionkey getdecryptionkey(string encalgorithmuri,

keyinfo keyinfo)

;

//重新創造表示初始化向量的8個位元組(64位)

byte ivbytes = ;

symmetricalgorithm mysymalg = new tripledescryptoserviceprovider();

mysymalg.key = keybytes;

mysymalg.iv = ivbytes;

//重新建立對稱加密金鑰

decryptionkey mykey = new symmetricdecryptionkey(mysymalg);

return mykey;

}

即便在我的方法中並沒使用他們,wse

還是要把keyinfo元素和加密演算法的uri傳遞給這個方法的,決定使用哪乙個共享金鑰或者加密演算法來產生對稱金鑰

為了讓securityinputfilter能夠訪問到getdecryptionkey

...

type="myclient assembly.decryptionkeyprovider,

myclientassembly" />

type 屬性不能有任何過多的空格或者任何換行。他們只包含上面的內容以增強可讀性,這個也可一用wse

設定工具來修改。一旦decryptionkeyprovider類被新增到客戶端而且wse

安全支援已經配置好了,wse

將自動攔截加密資料,乙個基於標準的web服務的2次開發平台程式,就可以讓你隨心所欲的給客戶端程式設計了。

使用x.509證書來給soap

報文

加密

正如我前面提到的,非對稱操作有一定開銷。當傳輸大量資料時,從效能上來說,用非對稱演算法來加密這些資料會顯得不太實際,wse

就這個問題,實現了一種偽非對稱性加密(pseudo-asymmetric encryption)。和非對稱性加密的報文相比,wse

使用乙個非對稱性演算法和x.509證書的乙個公開備份,以此來加密對稱金鑰,而實際上這些被用來給報文

加密。當收到報文後,securityinputfilter得到和x.509證書相關聯的私有金鑰,以此給對稱金鑰解密,然後用解密後的金鑰給報文正文解密。為了能讓這個例子能夠正常工作,乙個來自受信任的證書認證的x.509證書(支援加密),必須出現在客戶機器上當前使用者帳號的個人證書儲藏室裡面,這個證書的私有金鑰也必須出現在本地機器在主管web服務的伺服器的帳號裡。另外,ca證書鏈中的乙個證書必須出現在客戶端的受信任儲存室裡,那樣wse

才知道可以信任接受到的x.509證書。

wse/default.aspx?pull=/library/en-us/dnwssecur/html/wssecauthwse.asp">

利用WSE 加密SOAP報文 7

給收到的報文解密 當收到乙個由x.509證書加密後的報文後,soapinputfilter會自動嘗試使用使用者金鑰儲存室的私有金鑰來進行解密,當然,這個需要告訴wse 執行時 可以找到這個證書的額外配置資訊。這個資訊由應用程式配置檔案的security storelocation currentus...

soap報文略說

簡單說一下soap報文,有兩種版本的報文的報頭。soap 1 1 protocol與soap 1 2 protocol 分別對應的是 1.1 xmlns soap env 1.2 xmlns env env envelope 以下附帶乙個報文拼裝基類。當時寫的比較粗略沒有寫上解析響應報文的通用方法,...

oracle 解析soap報文XML報錯

ora 31011 xml parsing failed ora 19202 error occurred in xml processing 1 專案做和ebs的介面,ebs提供乙個webservice服務。在資料庫中訪問ebs的webservice 報文解析沒有問題 突然一天請求回來的xml檔案...