2016-01-12 55 views
1

我們爲我們的網站使用安全連接(HTTPS),我們需要客戶端與用戶以前安裝的後臺運行的程序(用Qt製作)進行通信。我們打算使用websockets,使用公司簽署的證書來做到這一點。 CA安裝在Windows和Mozilla數據庫中。帶本地主機證書的安全websocket

由於websocket在客戶端運行,並且websocket服務器也在客戶端的機器上運行,所以連接在localhost上進行。另外,因爲我們使用HTTPS,我們還必須使用WSS。我們選擇了端口2424.

問題是,Chrome,Firefox和IE認爲連接是不可信的,因爲它在本地主機上(我認爲)。如果我在https://127.0.0.1:2424上打開新選項卡,則會顯示一條錯誤消息;瀏覽器認爲該證書僅在本地主機上有效,並且這可能意味着某人可能試圖截取發送到服務器的數據(Firefox錯誤代碼:ssl_error_bad_cert_domain)。

+0

爲什麼你需要這個? Loopback接口的證書用途是什麼? – Crypt32

+0

使用非安全websocket的連接被拒絕,因爲該頁面使用HTTPS –

+0

@KhinBaptista,您是如何創建並安裝證書的? – kisileno

回答

2

問題是證書頒發給localhost而不是127.0.0.1。使用IP連接的websocket不在證書範圍內,因此將套接字地址從wss://127.0.0.1:2424更改爲wss://localhost:2424至少適用於Chrome和IE,但Firefox中的連接仍然被拒絕。