目標:一個網絡服務,安全,將由兩個本地網絡外的客戶端調用。保護Web服務最顯而易見的方式是通過https,從某個CA獲取證書。問題是這是一個愚蠢的浪費金錢。 CA的重點在於它是一個公衆信任的權威機構,因此我不必爲每個想要使用我的網頁的人驗證我的身份,CA就是爲他們做的。但是,當我與少數知名客戶打交道時,而不是廣大公衆,我不需要任何人爲我擔保。我們可以通過我們自己的渠道進行驗證。建立一個安全的網絡服務,而不購買(和更新)證書
有什麼辦法可以做到這一點?理想情況下,我可以使用由認證服務的人識別的證書來操作https,如果沒有人認可該證書是有效的,我不在乎。無論如何,我不希望他們撥打這項服務。在B2B數據傳輸(固定端點通信,而不是公共消費的服務)中,這應該是一個相當普遍的需求,如果您傳輸實際文件很容易(PGP風格的加密讓您只需驗證和導入彼此的鑰匙直接)。但是,我不清楚在網絡會話中這是可能的。它肯定應該是,如果不是的話。我發現了一些自簽名證書的文檔,但它們似乎僅用於開發目的,或僅用於內部使用,並且快速過期或需要在同一網絡上。
有沒有一個很好的方法來實現這一目標?或者我將不得不加密Web服務調用的內容?後者不太理想,因爲它會要求這個服務的用戶向他們的客戶端應用程序添加加密代碼(假設他們正在一個平臺上構建這些代碼,這個平臺可以很容易地添加對通用加密例程的支持,可能或可能不會真正的)而不僅僅依賴於標準的https框架。
我正在使用Windows(IIS/ASP.NET)平臺,如果這有什麼區別。
好的,這聽起來不錯,但有什麼想法如何實際完成這個?就像我說過的,我能找到的所有文章都是指僅限於開發的證書,或者似乎談論設置一些企業CA並頒發僅在本地工作的證書。我需要通過我們的網絡以外的系統訪問它。 – tmcgill