我已經查看了關於SSlStream類和關於證書的大約10-15個不同的頁面,並且我還沒有找到完全向我解釋的一切。所以我有一堆問題。我有幾個關於SslStream類和關於證書的問題
我目前正在研究一些SslStream代碼,並對證書有疑問。從我的研究看來,如果我們使用TSL12,則服務器需要證書。而且客戶端需要證書似乎是可選的。
1)現在,如果我們設計一個客戶端需要證書的系統,我們是否使用客戶端和服務器的相同證書?或者他們都使用不同的?
2)同時查看Microsoft SslStream幫助頁面: https://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v=vs.110).aspx 代碼如何知道它們是否是預期的證書?
3)在簽名項目的Property頁面上,您可以創建一個測試證書。當你點擊該按鈕時,它會要求輸入密碼。如果使用密碼,那將如何影響SslStream代碼?上面的Microsoft幫助頁面上的代碼根本不涉及?
4)一旦我有服務器和客戶端的證書,我可以將它們放在一個目錄中,或者我需要將它們放在存儲中嗎?
謝謝。
因此,如果服務器有一個有效的證書,並假設有人刪除它,並提出一個新的有效證書,一切仍然會工作?從你所說的話,客戶關心的唯一事情就是認證還沒有過期。 – ashlar64
是的。但是,如果服務器證書根CA沒有在您的信任機構中,那麼在您對客戶機進行驗證期間它將會失敗。並且客戶端還檢查服務器證書屬性是否符合要求(例如,域名是否正確) –
只是好奇,您如何確保證書在受信任的機構中? (我們在這裏不涉及網絡瀏覽器。) – ashlar64