我正在連接到一個java web服務,它在響應中使用了一個額外的密鑰。我的客戶端是用vb.net(VS 2010,.net 4.0)編寫的。這個密鑰用我的公鑰加密,用於加密響應消息。因此,當我將客戶端請求發送到此服務時,我在響應中收到以下錯誤消息:「傳入的消息使用與用於加密身份的令牌不同的令牌進行簽名,這不是預期的結果。」在嘗試解決此錯誤時,我創建了一個自定義消息編碼器來攔截響應消息,獲取密鑰並使用我的私鑰對其進行解密,然後使用該密鑰來解密響應消息。我已成功解密該消息,並使用解密的消息修改了響應消息,並將該消息返回給自定義消息編碼器ReadMessage方法,在該方法中創建返回給WCF進行處理的消息。但是,即使解密後的返回消息仍然會出現同樣的錯誤:「傳入的消息使用與用於加密身份的令牌不同的令牌進行簽名,這不是預期的結果。」看起來WCF仍然試圖解密郵件,即使手動完成。我在這個問題上花了很多時間,並試圖確定如何繞過默認的WCF解密過程,並讓它使用我自定義的解密消息。任何幫助將不勝感激。需要繞過WCF解密的響應消息
2
A
回答
0
如果您使用ReadMessage的一個重載定製的編碼器內部,例如
public override Message ReadMessage(ArraySegment<byte> buffer, BufferManager bufferManager, string contentType)
和你預期的格式使用返回解密的消息,比如你重新創建它
return Message.CreateMessage(MessageVersion.Soap11, String.Empty, XElement.Parse(plainTextData));
您應該將AsymmetricSecurityBindingElement.EnableUnsecuredResponse
設置爲true,它完全用於允許加密請求和解密(plaint文本)響應,重要的是沒有返回的響應中的安全標題(這是如何在上面的代碼示例中創建新響應)。
相關問題
- 1. ASP.NET MVC需要繞過「需要HTTPS」的消息
- 2. wcf消息響應參數
- 3. WCF - 定製響應消息
- 4. WCF - 修改響應消息
- 5. WCF消息加密
- 6. 需要解析HL7消息
- 7. 加密WCF消息密碼
- 8. 需要使用BasicHttpBinding來避免wcf服務中的響應消息的方法
- 9. WCF響應消息需要40分鐘,沒有超時異常被投擲
- 10. 的println需要一個消息,幫助解密日誌貓
- 11. 需要的響應不會顯示消息,其中input = radio
- 12. 解密Android中的消息
- 13. 繞過響應式設計
- 14. 如何取消USSD需要響應
- 15. 如何解析soap響應消息?
- 16. 使用XPath解析soap響應消息
- 17. 解析jQuery.ajax錯誤響應消息
- 18. http響應消息
- 19. 通過HTTP2的REST API:我需要解析二進制響應?
- 20. 需要解密的建議
- 21. SSIS XML解密消息
- 22. 如何解密消息gost2001
- 23. 需要將消息推送到客戶端的WCF服務
- 24. 變化的響應消息的XML格式在WCF
- 25. 對WCF消息應用XSLT
- 26. 需要繞過jQuery的切換功能
- 27. 消息模式密碼與WCF服務
- 28. 更改WCF中的JSON響應根節點消息
- 29. WCF Web服務需要訪問用戶名和密碼信息
- 30. node.js:加密需要解密的數據?