You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2021/06/22 19:27:00 UTC
[jira] [Updated] (NIFI-8630) PutEmail fails to negotiate TLS1.2
with latest JDK.
[ https://issues.apache.org/jira/browse/NIFI-8630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Handermann updated NIFI-8630:
-----------------------------------
Affects Version/s: 1.13.2
Labels: SMTP TLS TLSv1.2 dependency-upgrade (was: )
Status: Patch Available (was: In Progress)
> PutEmail fails to negotiate TLS1.2 with latest JDK.
> ----------------------------------------------------
>
> Key: NIFI-8630
> URL: https://issues.apache.org/jira/browse/NIFI-8630
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.13.2
> Reporter: Branko Peshevski
> Assignee: David Handermann
> Priority: Critical
> Labels: TLS, TLSv1.2, SMTP, dependency-upgrade
> Time Spent: 10m
> Remaining Estimate: 0h
>
> On April 20, 2021 with the latest JDK the support for TLS 1.0 and 1.1 was removed/disabled. Using the PutEmail processor with the latest OpenJdk and TLS set to true is failing with:
> {code:java}
> Failed to send email for StandardFlowFileRecord[uuid=7e8d3482-59ac-4993-a9ea-fa9089ced554,claim=,offset=0,name=7e8d3482-59ac-4993-a9ea-fa9089ced554,size=0]: Could not convert socket to TLS; routing to failure: javax.mail.MessagingException: Could not convert socket to TLS;
> nested exception is:
> javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
> javax.mail.MessagingException: Could not convert socket to TLS
> at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1907)
> at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:666)
> at javax.mail.Service.connect(Service.java:317)
> at javax.mail.Service.connect(Service.java:176)
> at javax.mail.Service.connect(Service.java:125)
> at javax.mail.Transport.send0(Transport.java:194)
> at javax.mail.Transport.send(Transport.java:124)
> at org.apache.nifi.processors.standard.PutEmail.send(PutEmail.java:541)
> at org.apache.nifi.processors.standard.PutEmail.onTrigger(PutEmail.java:395)
> at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1173)
> at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
> at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
> at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
> {code}
> From my research the javax.mail version is quite old and it is known that 1.4.x fails to renegotiate with better tls algorithm. But I think it would be better to add new Property Descriptor to the PutEmail processor that will default the ssl protocol to TLS1.2.
> * Update the javax.mail dependency.
> * Add PropertyDescriptor for setting the ssl algorithm that will default to TLS 1.2
--
This message was sent by Atlassian Jira
(v8.3.4#803005)