簡體   English   中英

沒有證書的SslStream

[英]SslStream without certificate

我正在設計一個基於客戶端服務器體系結構的系統-基於TCP。 要求服務器與客戶端之間的所有消息均應加密。 因此,我正在考慮在.NET Framework中使用SslStream類。

從SslStream MSDN,我的理解是,我們需要使用客戶端和服務器證書來建立適當的通道並進行通信。

我不想使用任何特定於特定計算機(客戶端)或服務器的證書。 我只是想在系統之間有一個公用密鑰。

有沒有可能使用沒有證書的SSL流?

雖然TLS規范沒有要求,但使用.NET SslStream實現需要服務器具有證書(及其關聯的私鑰)。 這允許任何客戶端確認它正在與預期的服務器進行通信。 (可選)還可以通過讓客戶端向服務器提供客戶端證書來對客戶端進行身份驗證。 因此,如果要使用SslStream ,則至少要為服務器創建一個證書,因為這是該特定實現的工作方式。

如果您根本不想使用證書,那么還有其他選擇。 例如,如果您打算在Windows域中使用應用程序,並且兩個客戶端/服務器都基於Windows,則可以改用NegotiateStream 這也支持加密/身份驗證,但不使用證書,並且還將使您能夠識別連接另一端的用戶。

暫無
暫無

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

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