2017-03-07 5 views
0

Meine Netty-Anwendung läuft als TCP-Socket-Server auf JDK1.8. JDK 1.8 unterstützt TLS 1.0, TLS 1.1 und TLS 1.2.Wie erzwinge Netty Server für die Kommunikation über TLS 1.2?

Wir wollen die Kommunikation zwischen TCP-Server und Client über TLSv1.2 auf der Serverseite erzwingen (kein niedrigeres Protokoll benötigt).

Unten ist der Code-Schnipsel:

{ 
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())); 
} 

Wie können wir netty Server erzwingen nur TLS1.2 Protokoll zu kommunizieren?

Antwort

1

konfigurieren Sie einfach die SSLEngine richtig:

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

Dank Norman. Dies funktioniert wie erwartet. –

Verwandte Themen