我在這裏有一個唯一的問題 - 服務器在我們的控制之下,並且已經使用即將到期的新服務器證書進行了更新。ssl客戶端如何接受過期的SSL證書
但是我們客戶的性質是這樣的,更新SSL證書需要人工干預來設置某些方面,以便他們在此之後啓動並運行。我們沒有足夠的時間進行更改,並且在證書過期之前讓所有客戶端都運行。
我們正在使用單向SSL,即只有客戶端正在驗證服務器證書(TCP通信)。
所以我的問題是有什麼辦法強制客戶端接受超過過期日期的證書,所以我們有更多的時間來更新它們?同時我們可以在服務器上進行任何更改,但無法觸摸客戶端。
我今天運行wireshark跟蹤設置系統日期超出證書到期在客戶端和服務器上,其拋出certificate_expired客戶端我相信在這種情況下,因爲服務器已經安裝了新的服務器端證書。 通信甚至沒有通過SSL/TLS消息的外觀,即它在此之前失敗。
客戶端用C編寫,並使用OpenSSL建立SSL連接,服務器用Java編寫。
我曾嘗試使用各種TrustManagers接受服務器端的一切,但問題是它似乎是客戶端。被傳輸的信息不敏感,如果有任何方法可以這樣做,我們可以禁用所有的SSL功能以使其正常工作,但是無論我們可以做什麼都必須在不觸摸客戶端的情況下完成。
讓我知道是否需要進一步的細節,使情況更清楚。任何幫助,將不勝感激。
沒有。你不能強迫它,除非你能控制客戶 - 你已經說過你沒有。如果服務器可以強制客戶端接受過期的證書,那麼服務器也可以強制客戶端接受無效/僞造的證書。換句話說,你想要的只是否定ssl的全部目的。 –
有道理,謝謝。 – highflyer