2017-02-15 1 views
0

Ich habe eine Webapp (Client) und einen Daemon (Server) auf meinem lokalen Computer laufen und sie Nachrichten teilen. Alles funktioniert gut, wenn Sie keinen sicheren Socket verwenden.Python WSS: Chrome erkennt kein automatisch validiertes Zertifikat

ich WSS versuche jetzt zu implementieren, aber Chrom weiterhin das Zertifikat I mit openssl generiert haben verweigern:

webSocket connection to 'wss://localhost:8190/Action 
failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED 

Was ich bisher versucht:

  • Ich habe versucht, das Hinzufügen meine .crt Datei in Apple KeyChain in beiden System und Login
  • Ich habe versucht, ein neues Zertifikat zu generieren und alles zu tun nochmal.

Für WebSockets Ich bin mit this library, und das ist, wie ich die Buchse am Öffnen:

ssl_context = ssl.create_default_context(cafile='/localhost.crt') 
st_server = websockets.serve(self.__on_receive, 'localhost', '8190', 
           ssl=ssl_context) 

Jede Hilfe würde Bezug auf entsprechende Dokumentation sehr geschätzt werden. Danke

Antwort

0

Gelöst. Ich habe den obigen Code auf diese geändert:

ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) 
ssl_context.load_cert_chain(os.path.join('/', "localhost.crt"), 
          os.path.join('/', "localhost.key")) 
st_server = websockets.serve(self.__on_receive, 'localhost', '8190', 
            ssl=ssl_context) 

Im Grunde war ich die certs nicht richtig geladen werden.