# ES Hadoop TLS v1.2

**URL:** https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124
**Category:** Elasticsearch
**Tags:** es-hadoop
**Created:** [April 12, 2016, 1:48pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124 "2016-04-12T13:48:21Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![curl](https://avatars.discourse-cdn.com/v4/letter/c/9dc877/32.png) [@curl](https://discuss.elastic.co/u/curl)
#### Post date: [April 12, 2016, 1:48pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/1 "2016-04-12T13:48:21Z")

</div>

Hello,

Can you tell me please if ES hadoop supports TLS1.2?

I have just tried to connect to my ES cluster from hive and I get this error:

[2016-04-12 14:46:43,104][WARN][shield.transport.netty] [calhdb09-node-d01] Caught exception while handling client http traffic, closing connection [id: 0x6bce2c48, /192.168.100.120:36418 =\> /192.168.24.170:9200]  
javax.net.ssl.SSLHandshakeException: Client requested protocol TLSv1 not enabled or not supported  
at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1431)  
at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)  
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:813)  
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)  
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)  
at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1218)  
at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:852)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.jboss.netty.handler.ipfilter.IpFilteringHandlerImpl.handleUpstream(IpFilteringHandlerImpl.java:154)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)  
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)  
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)  
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)  
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)  
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)  
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)  
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
at java.lang.Thread.run(Thread.java:745)  
Caused by: javax.net.ssl.SSLHandshakeException: Client requested protocol TLSv1 not enabled or not supported  
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)  
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666)  
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:304)  
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:292)  
at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:507)  
at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:213)  
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)  
at sun.security.ssl.Handshaker$1.run(Handshaker.java:919)  
at sun.security.ssl.Handshaker$1.run(Handshaker.java:916)  
at java.security.AccessController.doPrivileged(Native Method)  
at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1369)  
at org.jboss.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1392)  
at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1255)  
... 21 more

my cluster's shield settings are:  
ssl:  
ciphers:  
- TLS\_ECDHE\_RSA\_WITH\_AES\_128\_GCM\_SHA256  
- TLS\_RSA\_WITH\_AES\_128\_CBC\_SHA256  
- TLS\_RSA\_WITH\_AES\_128\_CBC\_SHA  
hostname\_verification:  
resolve\_name: true  
supported\_protocols: TLSv1.2

Thanks

---

<div class="post-metadata">

### Author: ![costin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/costin/32/44950_2.png) [@costin](https://discuss.elastic.co/u/costin)
#### Post date: [April 13, 2016, 12:02pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/2 "2016-04-13T12:02:37Z")

</div>

Depends on your client/ES-Hadoop configuration.

---

<div class="post-metadata">

### Author: ![curl](https://avatars.discourse-cdn.com/v4/letter/c/9dc877/32.png) [@curl](https://discuss.elastic.co/u/curl)
#### Post date: [April 13, 2016, 12:19pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/3 "2016-04-13T12:19:44Z")

</div>

CREATE EXTERNAL TABLE ESTest (  
name String)  
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'  
TBLPROPERTIES('es.nodes' = ''  
'es.resource' = 'estest/event',  
'es.net.ssl' = 'true',  
'es.net.http.auth.user' = '',  
'es.net.http.auth.pass' = '',  
'es.index.read.missing.as.empty' =' true',  
'es.mapping.names' = 'name:name',  
'es.net.ssl.protocol' = 'TLS',  
'es.net.ssl.cert.allow.self.signed' = 'true');

---

<div class="post-metadata">

### Author: ![costin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/costin/32/44950_2.png) [@costin](https://discuss.elastic.co/u/costin)
#### Post date: [April 13, 2016, 4:04pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/4 "2016-04-13T16:04:10Z")

</div>

By default, ES-Hadoop delegates to the JDK namely using "TLS". In Java 7 this defaults to version 1.0 I think while since JDK 8 it defaults to TLSv1.2  
Valid parameters are specified here: [https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext](https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext)

---

<div class="post-metadata">

### Author: ![curl](https://avatars.discourse-cdn.com/v4/letter/c/9dc877/32.png) [@curl](https://discuss.elastic.co/u/curl)
#### Post date: [April 13, 2016, 4:16pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/5 "2016-04-13T16:16:34Z")

</div>

Cheers Costin. I've got it working with TLS 1.2

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 1:25pm UTC](https://discuss.elastic.co/t/es-hadoop-tls-v1-2/47124/6 "2017-07-06T13:25:05Z")

</div>


