這裏還有一個傳統的支持問題!
我們有一個服務器多客戶端網絡,其中每個組件都有一個自簽名證書,並被添加到服務器/客戶端的信任存儲區。我們在這裏沒有使用證書頒發機構。
現在我們的問題是我們需要升級所有證書以獲得更好的安全性。新的客戶端將附帶較新的證書,甚至服務器也將擁有新的證書。
我們的問題是如何處理老客戶。升級老客戶的密鑰庫是最後的選擇。SSL:如何使用連接到相同端口的單獨密鑰處理多個客戶端?
的事情,是行不通的:
在服務器信任添加兩個新老證書:即使客戶端進行身份驗證的服務器和服務器證書,將不存在於客戶信任。
爲新客戶端使用新端口:我們考慮爲新客戶端使用新端口併爲舊客戶端繼續使用舊端口,但問題是存在多個應用程序正面臨此問題,因此我們必須搜索多個新端口未被其他產品使用。
FWIW:服務器在Java和客戶端是用C++ EJP的回答
我可能會問一個非常愚蠢的問題,在這裏只是想確認後
編輯。一旦套接字綁定,絕對沒有辦法編輯套接字的SSL上下文。正確?
另外,我們可以選擇在握手期間使用的服務器證書嗎?我知道chooseClientAlias()
和chooseServerAlias()
方法,但我們不知道在發送客戶端Hello消息之前使用哪個證書。
我同意你關於使用CA的觀點。我已經用一個正在討論的線程更新了這個問題。你能回答嗎? – Limit
我會嘗試chooseServerAlias()方法。我認爲這應該解決我們的問題。舊代理使用舊密鑰,新服務器使用新密鑰。至少在我們擁有CA架構之前。 – Limit