My original post may look like I haven't tried anything at all so here's what I've done.
[Raw read]: length = 2712
0000: 02 00 00 51 03 03 5A D0 B2 BF D1 99 89 5B AD FA ...Q..Z......[..
0010: B7 27 10 8E 66 F2 8D 04 C4 7C E3 D7 F4 04 C0 8B .'..f...........
0020: 19 1F A2 C9 FA 74 20 5A D0 B2 BF DF 8E 35 E7 DA .....t Z.....5..
0030: 7E 06 30 5C BC 12 CE D4 05 3B AF FF 8F A5 D1 69 ..0\.....;.....i
0040: 7C 68 36 3F B5 48 0B C0 28 00 00 09 FF 01 00 01 .h6?.H..(.......
0050: 00 00 17 00 00 0B 00 08 34 00 08 31 00 04 20 30 ........4..1.. 0
0060: 82 04 1C 30 82 03 04 A0 03 02 01 02 02 01 01 30 ...0...........0
0070: 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 30 81 ...*.H........0.
0080: 95 31 13 30 11 06 0A 09 92 26 89 93 F2 2C 64 01 .1.0.....&...,d.
0090: 19 16 03 63 6F 6D 31 17 30 15 06 0A 09 92 26 89 ...com1.0.....&.
00A0: 93 F2 2C 64 01 19 16 07 65 78 61 6D 70 6C 65 31 ..,d....example1
00B0: 19 30 17 06 03 55 04 0A 0C 10 45 78 61 6D 70 6C .0...U....Exampl
00C0: 65 20 43 6F 6D 20 49 6E 63 2E 31 24 30 22 06 03 e Com Inc.1$0"..
00D0: 55 04 0B 0C 1B 45 78 61 6D 70 6C 65 20 43 6F 6D U....Example Com
00E0: 20 49 6E 63 2E 20 53 69 67 6E 69 6E 67 20 43 41 Inc. Signing CA
00F0: 31 24 30 22 06 03 55 04 03 0C 1B 45 78 61 6D 70 1$0"..U....Examp
0100: 6C 65 20 43 6F 6D 20 49 6E 63 2E 20 53 69 67 6E le Com Inc. Sign
0110: 69 6E 67 20 43 41 30 1E 17 0D 31 36 30 35 30 34 ing CA0...160504
0120: 32 30 34 35 32 38 5A 17 0D 31 38 30 35 30 34 32 204528Z..1805042
0130: 30 34 35 32 38 5A 30 56 31 0B 30 09 06 03 55 04 04528Z0V1.0...U.
0140: 06 13 02 44 45 31 0D 30 0B 06 03 55 04 07 13 04 ...DE1.0...U....
0150: 54 65 73 74 31 0D 30 0B 06 03 55 04 0A 13 04 54 Test1.0...U....T
0160: 65 73 74 31 0C 30 0A 06 03 55 04 0B 13 03 53 53 est1.0...U....SS
0170: 4C 31 1B 30 19 06 03 55 04 03 13 12 6E 6F 64 65 L1.0...U....node
0180: 2D 30 2E 65 78 61 6D 70 6C 65 2E 63 6F 6D 30 82 -0.example.com0.
0190: 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 ."0...*.H.......
elasticsearch[_client_][transport_client_boss][T#1], fatal error: 46: General SSLEngine problem
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
%% Invalidated: [Session-1, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384]
elasticsearch[_client_][transport_client_boss][T#1], SEND TLSv1.2 ALERT: fatal, description = certificate_unknown
elasticsearch[_client_][transport_client_boss][T#1], WRITE: TLSv1.2 Alert, length = 2
elasticsearch[_client_][transport_client_boss][T#1], fatal: engine already closed. Rethrowing javax.net.ssl.SSLHandshakeException: General SSLEngine problem
[Raw write]: length = 7
0000: 15 03 03 00 02 02 2E .......
elasticsearch[_client_][transport_client_boss][T#1], called closeOutbound()
elasticsearch[_client_][transport_client_boss][T#1], closeOutboundInternal()
elasticsearch[_client_][transport_client_boss][T#1], called closeInbound()
elasticsearch[_client_][transport_client_boss][T#1], fatal: engine already closed. Rethrowing javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack?
Unable to check whether cluster is sane: None of the configured nodes are available: [{#transport#-1}{xL0RkWiMTr-bETA1T7K2xw}{localhost}{
127.0.0.1:9300}]
13:38:07.636 [elasticsearch[_client_][transport_client_boss][T#1]] ERROR com.floragunn.searchguard.ssl.transport.SearchGuardSSLNettyTransport - SSL Problem General SSLEngine problem
javax.net.ssl.SSLHandshakeException: General SSLEngine problem
at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1529) ~[?:1.8.0_162]
at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535) ~[?:1.8.0_162]
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:813) ~[?:1.8.0_162]
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781) ~[?:1.8.0_162]
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) ~[?:1.8.0_162]
at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:281) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1215) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1127) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1162) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) ~[netty-codec-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) ~[netty-codec-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[netty-codec-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) [netty-transport-4.1.16.Final.jar:4.1.16.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-common-4.1.16.Final.jar:4.1.16.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[?:1.8.0_162]
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:330) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1614) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:992) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:989) ~[?:1.8.0_162]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1467) ~[?:1.8.0_162]
at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1364) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1272) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
... 19 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397) ~[?:1.8.0_162]
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ~[?:1.8.0_162]
at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:281) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1601) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:992) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:989) ~[?:1.8.0_162]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1467) ~[?:1.8.0_162]
at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1364) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1272) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
... 19 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) ~[?:1.8.0_162]
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) ~[?:1.8.0_162]
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) ~[?:1.8.0_162]
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392) ~[?:1.8.0_162]
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302) ~[?:1.8.0_162]
at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:281) ~[?:1.8.0_162]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1601) ~[?:1.8.0_162]
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:992) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$1.run(Handshaker.java:989) ~[?:1.8.0_162]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162]
at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1467) ~[?:1.8.0_162]
at io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1364) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1272) ~[netty-handler-4.1.16.Final.jar:4.1.16.Final]
... 19 more
elasticsearch[_client_][transport_client_boss][T#1], called closeOutbound()
elasticsearch[_client_][transport_client_boss][T#1], closeOutboundInternal()
elasticsearch[_client_][transport_client_boss][T#1], called closeInbound()
elasticsearch[_client_][transport_client_boss][T#1], closeInboundInternal()
ERR: Cannot connect to Elasticsearch. Please refer to elasticsearch logfile for more information
I can however connect to my elasticsearch cluster using ReST without a problem, data is being persisted there.
I haven't changed the port for internal comms so it should still be 9300.
I currently have the elasticsearch.yml set up with the demo configuration for search-guard, I have tried entering own certificates/key in the place of the demo ones but elasticsearch won't start. This whole trace was as a result of running sgadmin.sh which, I assume, sets the values necessary in elasticsearch.yml rather than me needing to specify them manually, so my values are currently commented out in elasticsearch.yml.