2017-03-07 12 views
0

My Nettyアプリケーションは、JDK1.8上でTCPソケットサーバーとして実行されています。 JDK 1.8は、TLS 1.0、TLS 1.1、およびTLS 1.2をサポートしています。TLS 1.2経由で通信するNettyサーバを強制する方法は?

サーバ側でTLSv1.2を介してTCPサーバとクライアント間の通信を強制したい(低いプロトコルを使用する必要はありません)。以下は

は、コードスニペットです:

{ 
KeyStore ks = KeyStore.getInstance("JKS"); 
     ks.load(new FileInputStream("JKS location"), "password"); 
     KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); 
     kmf.init(ks, "password".toCharArray()); 
     SslContext sslContext = SslContextBuilder.forServer(kmf).build(); 
     pipeline.addLast(sslContext.newHandler(socketChannel.alloc())); 
} 

どのように我々は唯一のTLS1.2プロトコルを介して通信するために網状のサーバを強制することができますか?

答えて

1

だけ正しくSSLEngineの設定:

SslHandler handler = sslContext.newHandler(socketChannel.alloc()); 
handler.engine().setEnabledProtocols(new String[] {"TLSv1.2"}); 
... 
+0

おかげノーマンを。これは期待どおりに動作しています。 –

関連する問題