2011-12-14 13 views
0

サーバと複数のクライアント間で暗号化された双方向通信を確立する最も良い方法は何ですか?Java:暗号化されたサーバー/クライアントの双方向通信?

サーバーには永続データベースがあり、クライアントにデータを送信し、クライアントはデータを返信します。これは、ネットワークスニッフィングツールなどに対する最高の防御のために暗号化する必要があります。

Nettyサーバーはこれに適していますか? nettyとクライアントアプリケーションのソケットを使ってサーバーに接続できますか?

ありがとうございます。

答えて

1

あなたはソケットを暗号化して、あなたが好きなプロトコルをワイヤで送信できます。 HTTPSはその1つに過ぎません。たとえば、NetStyle上にSMTPSを問題なく実装しました。

プロトコルを定義し、エンコーダ/デコーダを書き、それをパイプラインにSslHandlerで追加するだけです。それでおしまい。

3

通信プロトコルがHTTPで、標準のHTTP環境(HTTPサーバー、サーブレット、JSPなど)を使用している場合は、HTTPS通信を使用します。データの暗号化と保護を双方向で保証します。

+0

その他のhttp以外の解決策はありますか?私はhttps証明書を取得するためにそれを読むので、私はこれを尋ねる超高価です。 – KJW

+0

SSLを使用するために証明機関を使用する必要はありません。サーバーの公開鍵をクライアントにバンドルすると、CAは必要ありません。つまり、何も支払う必要はありません。 – Vincent

+0

HTTPSを使用するのは、社内の暗号化を使うよりも、より高速で簡単で安全な方法です。独自のJava暗号化APIを使用してください。独自の鍵を発行することもできますし、SSL証明書を購入してもそれほどコストがかかりません。この回答を投票してください。 –

関連する問題