jcustenborder / kafka-connect-parent

Parent pom for Kafka Connect Connectors.
Apache License 2.0
3 stars 14 forks source link

Is the JDK 1.8 requirement including an old cipher suite for SSL? #41

Open jwfbean opened 1 year ago

jwfbean commented 1 year ago

The example for the IMAPSourceConnector is breaking with gmail:

javax.mail.MessagingException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate);\n nested exception is:\n\tjavax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)\n\tat com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)\n\tat javax.mail.Service.connect(Service.java:295)\n\tat javax.mail.Service.connect(Service.java:176)\n\tat javax.mail.Service.connect(Service.java:125)\n\tat com.github.jcustenborder.kafka.connect.email.IMAPEmailService.store(IMAPEmailService.java:74)\n\tat com.github.jcustenborder.kafka.connect.email.IMAPEmailService.folder(IMAPEmailService.java:84)\n\tat com.github.jcustenborder.kafka.connect.email.IMAPEmailService.runOneIteration(IMAPEmailService.java:138)\n\tat com.google.common.util.concurrent.AbstractScheduledService$ServiceDelegate$Task.run(AbstractScheduledService.java:221)\n\tat com.google.common.util.concurrent.Callables$4.run(Callables.java:119)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)\n\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\nCaused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)\n\tat java.base/sun.security.ssl.HandshakeContext.(HandshakeContext.java:170)\n\tat java.base/sun.security.ssl.ClientHandshakeContext.(ClientHandshakeContext.java:103)\n\tat java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:222)\n\tat java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:449)\n\tat java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:427)\n\tat com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)\n\tat com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)\n\tat com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)\n\tat com.sun.mail.iap.Protocol.(Protocol.java:116)\n\tat com.sun.mail.imap.protocol.IMAPProtocol.(IMAPProtocol.java:115)\n\tat com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685)\n\tat com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636)\n\t... 14 more

I believe this is because kafka-connect-parent is requiring the connector to be built with JDK1.8 and gmail no longer supports the cipher suites included there. But I am not sure. Should we allow connectors to be built with newer JDKs?

jcustenborder commented 1 year ago

Interesting. I have no clue when that connector was last built. I don't have an issue bumping the JVM version. I just resisted for a while because AK was only 1.8 for quite a while. haha times have changed. Happy to hop on a call with you next week to figure it out.