2016-06-08 11 views
2

Ich habe eine Java-Anwendung entwickelt, die mit einem Signature Pad biometrische Signaturen erfasst. Das Pad ist an die Client-Computer angeschlossen, so dass ich den Java-Controller auf jedem lokalen Rechner ausführen muss. Dazu führen wir eine JAR mit einem Jetty-Server aus. Wir verwenden das WebSockets-Protokoll, um den Signaturprozess vom Browser aus zu starten und Daten an den Jetty-Server zu senden.Zertifikat zur Sicherung der Webscocket-Verbindung

Das Problem: Wir müssen ein Zertifikat für die sichere Websocket-Verbindung erstellen, und dieses Zertifikat muss für 127.0.0.1 ausgegeben werden, da der Jetty-Server auf den lokalen Client-Computern ausgeführt wird.

Wenn ich ein selbstsigniertes Zertifikat erstelle, funktioniert die Lösung gut, aber einige Browser, z. B. Firefox, erlauben keine selbstsignierten Zertifikate als vertrauenswürdige Zertifikate und ich bezweifle, dass eine CA ein Zertifikat für 127.0.0.1 ausstellt.

Also, was wäre die beste Lösung? Verwenden Sie weiterhin das selbstsignierte Zertifikat? Gibt es einen anderen Weg?

+0

Warum 127.0.0.1? Ein Webbrowser auf einem externen Gerät (Signature Pad), das an den Computer angeschlossen ist, kann über diese Adresse keine Verbindung zum Clientcomputer herstellen. – mjn

+0

Der Webbrowser befindet sich nicht auf dem Signature Pad. Der Browser sendet Daten an den Jetty-Server (beide im Client-Computer) vía websocket und Java-Controller befasst sich mit dem Signature Pad. Das Pad ist hier nicht wichtig, das Problem liegt im Anruf zwischen Browser und Jetty auf dem gleichen Rechner. –

+0

Mögliches Duplikat von http://stackoverflow.com/questions/26037462/how-cani-i-establish-a-secure-connection-to-a-websocket-on-localhost – mjn

Antwort

1

Wenn Sie Administratorrechte auf dem POS-Terminals haben, wie etwa eine Zeile in dem HOSTS Hinzufügen wie file:

127.0.0.1 localhost.mycompany.com 

Jetzt können Sie ein echtes Zertifikat für localhost.mycompany.com in der Server-Anwendung verwenden.

(Von How can I establish a secure connection to a websocket on localhost?)

+0

Dies könnte funktionieren. Wir werden darüber nachdenken. Vielen Dank –