2016-08-05 14 views
0

私は、ローカルwebsocketサーバーを実行するJava Web Startアプリケーションを持っています。このアプリはいくつかのデータを受け取り、これらのデータに署名し、WebSocket接続を介してブラウザに署名したデータを返します。 ローカルWebSocketサーバーとしてTyrusコンテナを使用しています。最近私は自分自身が立ち往生していることがわかりました。ブラウザはSSLコンテキストのWSへの接続を確立しようとしますが、私のWSサーバはセキュアなWebソケット接続をサポートしていません。スタンドアロンのTyrus websocketサーバーをSSLで実行することはできますか?

私は次のエラーました:つまり

Mixed Content: The page at ' https://example.com ' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://localhost:8025/sign/'. This request has been blocked; this endpoint must be available over WSS.

Uncaught SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

を、ツロは私にそのような何か与えていません:

new org.glassfish.tyrus.server.Server.Server("wss", "localhost", 8025, "/sign", null, MyClass.class); 

を私はSSLでタイラスServerを実行するか、することができます方法はあります誰かが別の自己完結型websocketサーバーを知っていますか?事前

答えて

1

おかげで私はネッティーIO(https://github.com/netty/netty)は、スタンドアロンの方法で、セキュアソケットを提供する能力を持っていることが分かりました。しかし、私は私のjava Webアプリケーションの中で有効なデジタル証明書(jks)を提供する必要があったので、私はあきらめました。誰もがjarファイルを逆コンパイルしてその証明書を使ってウェブサイトを構築したり、自分の資格で文書に署名したりできるので、これは大きなセキュリティ上の問題です。

私は自分のロジックをJBossによってインスタンス化されたWebソケットサーバーに移動しました。

関連する問題