簡體   English   中英

是否可以將自定義加密應用於Microsoft Web API?

[英]Is is possible to apply custom encryption to Microsoft Web API?

我們正在使用Web API 2.0在無法使用SSL的情況下為客戶端提供服務(沒有公共Internet訪問,不能期望客戶端信任自簽名證書)。 為了保護在客戶端和服務器之間移動的內容,我們希望能夠對其進行加密。 可以使用未加密的HTTP標頭(只需要加密有效負載)就可以了。 問題是:是否有一種方法可以在請求和響應消息管道中插入自定義處理程序,以便我們可以將解密作為請求預處理步驟,而將加密用作響應后處理步驟?

我們正在使用Web API的內置功能在JSON和模型類之間進行序列化/反序列化,並且不需要重構任何現有代碼。 因此,必須在請求/響應管道的最開始/結尾處插入加密處理程序。 這可能嗎?如果可以,插入自定義請求/響應內容的前/后處理技術是什么?

網絡是“公共的”,用戶可以攜帶自己的設備,但是網絡與公共互聯網是隔離的。 客戶端將僅使用我們正在開發的自定義應用程序來使用Web API服務,因此我們可以在客戶端和服務器端解決自定義加密方案的實現問題。

如果您控制客戶端應用程序,則可以對服務器期望返回的SSL證書進行硬編碼,這意味着它不必通過常規的PKI方式進行驗證(有時稱為證書固定 )。 大多數其他方法會導致您嘗試重新發明SSL,但存在一些致命缺陷。

明確地說,我認為您正在看到“無法使用SSL的上下文(沒有公共Internet訪問,不能期望客戶端信任自簽名證書)”與“客戶端將僅使用我們正在開發的自定義應用程序”中未必存在。 用戶不必知道證書是自簽名的,並且自簽名並不總是意味着不受信任。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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