Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-8463

server's log filled with SSLException: Tag mismatch!

    XMLWordPrintableJSON

Details

    Description

      In a TLS test using the latest Oracle JDK8 server logs filled with these messages:

      [info 2020/08/10 17:09:19.204 PDT <P2P message reader for rs-GEM-2886-FD2236a0i32xlarge-hydra-client-1(bridgegemfire4_host1_27404:27404)<ec><v1>:41003 shared ordered uid=7 local port=41284 
      remote port=37024> tid=0x6c] P2P message reader@26dd073d io exception for rs-GEM-2886-FD2236a0i32xlarge-hydra-client-1(bridgegemfire4_host1_27404:27404)<ec><v1>:41003(uid=7)
      javax.net.ssl.SSLException: Tag mismatch!
              at sun.security.ssl.Alert.createSSLException(Alert.java:133)
              at sun.security.ssl.TransportContext.fatal(TransportContext.java:327)
              at sun.security.ssl.TransportContext.fatal(TransportContext.java:270)
              at sun.security.ssl.TransportContext.fatal(TransportContext.java:265)
              at sun.security.ssl.SSLTransport.decode(SSLTransport.java:119)
              at sun.security.ssl.SSLEngineImpl.decode(SSLEngineImpl.java:594)
              at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:549)
              at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:413)
              at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:392)
              at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:626)
              at org.apache.geode.internal.net.NioSslEngine.unwrap(NioSslEngine.java:272)
              at org.apache.geode.internal.tcp.Connection.processInputBuffer(Connection.java:2727)
              at org.apache.geode.internal.tcp.Connection.readMessages(Connection.java:1621)
              at org.apache.geode.internal.tcp.Connection.run(Connection.java:1458)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
              at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:620)
              at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
              at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
              at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853)
              at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
              at javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:826)
              at javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
              at javax.crypto.Cipher.doFinal(Cipher.java:2463)
              at sun.security.ssl.SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher.decrypt(SSLCipher.java:1880)
              at sun.security.ssl.SSLEngineInputRecord.decodeInputRecord(SSLEngineInputRecord.java:240)
              at sun.security.ssl.SSLEngineInputRecord.decode(SSLEngineInputRecord.java:197)
              at sun.security.ssl.SSLEngineInputRecord.decode(SSLEngineInputRecord.java:160)
              at sun.security.ssl.SSLTransport.decode(SSLTransport.java:110)
       

       

      The protocol and cipher were both set to "any".

      We determined that this was selecting TLSv1.3, which was only recently introduced as an available protocol in Oracle's JDK8.  If TLSv1.2 is specified instead of "any" things work fine.

      The problem does not occur with Geode v1.13 unless you request TLSv1.3 with Oracle JDK8.  We were using 1.8.0_261.

      Attachments

        Activity

          People

            bschuchardt Bruce J Schuchardt
            bschuchardt Bruce J Schuchardt
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: