Sichere websocket mit localhost-Zertifikat
Wir verwenden eine sichere Verbindung (HTTPS) für unsere Website, und wir müssen der client für die Kommunikation mit einem Programm im hintergrund läuft (gemacht mit Qt), die der Benutzer zuvor installiert. Wir sollen tun, dass die Verwendung von websockets ist, mit einem Zertifikat, unterschrieben von der Firma.
Die CA wird in Windows installiert und Mozilla-Datenbanken.
Da die websocket auf dem client ausgeführt wird, und der websocket-server läuft auch auf dem client-Rechner, die Verbindung ist perfromed auf localhost. Auch, weil wir HTTPS verwenden, müssen wir auch mit WSS. Wir wählten port 2424.
Das problem ist, dass Chrome, Firefox und IE berücksichtigen Sie die Verbindung nicht vertrauenswürdig, weil es auf localhost (ich denke,). Wenn ich eine neue Registerkarte öffnen auf https://127.0.0.1:2424
, wird eine Fehlermeldung angezeigt; der Browser zu sagen: das Zertifikat ist nur gültig auf localhost, und dies könnte bedeuten, dass jemand versuchen kann abzufangen, die an den server gesendeten Daten (Firefox-Fehler-code: ssl_error_bad_cert_domain
).
- Warum brauchen Sie diese? Was ist das Zertifikat, das den Zweck, auf eine loopback-Schnittstelle?
- Die Verbindung über eine unsichere websocket-wird abgelehnt, weil die Seite HTTPS verwendet wird
- Wie Sie erstellt und installiert das Zertifikat?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem war, dass das Zertifikat ausgestellt wurde, um
localhost
, nicht127.0.0.1
. Die websocket-Verbindung über die IP, nicht durch das Zertifikat abgedeckt, so dass die änderung der socket-Adresse auswss://127.0.0.1:2424
zuwss://localhost:2424
gearbeitet, zumindest bei Chrome und IE, aber die Verbindung ist immer noch nicht in Firefox.