Support Questions

Find answers, ask questions, and share your expertise

NIFI ListenUDP with TLS support?

avatar
Explorer

Hi there,

We've been using Nifi for awhile in our projects, mostly using Kafka and AMQP Client processors for receiving data; but recently a request came up for UDP, specifically DTLS (Datagram transport Layer Security).

Looking at the existing UDP Client Processors, it appears that DTLS is not supported; or at least it's not clear for us how to do it. Is that correct?

Are there any alternatives then? Maybe creating a custom ListenDTLS processor based on the existing ListenUDP? Could that work?

Best regards

2 ACCEPTED SOLUTIONS

avatar
Super Collaborator

A quick Google search shows it's possible to build a DTLS server (Listener) with Java which means it might be possible to create a custom Groovy based processor to implement it.

View solution in original post

avatar

@mango @joseomjr  Currently DTLS not supported with ListenUDP.

You certainly can build your own processor or work on a version of ListenUDP that includes the necessary code changes.  Additionally it may be worth taking a look at the new python native capability in NiFi 2.0.   

View solution in original post

8 REPLIES 8

avatar
Community Manager

@mango Welcome to the Cloudera Community!

To help you get the best possible solution, I have tagged our NiFi experts @steven-matison @SAMSAL  who may be able to assist you further.

Please keep us updated on your post, and we hope you find a satisfactory solution to your query.


Regards,

Diana Torres,
Community Moderator


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community:

avatar
Community Manager

@MattWho Do you have any insights here? Thanks!


Regards,

Diana Torres,
Community Moderator


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community:

avatar
Super Collaborator

A quick Google search shows it's possible to build a DTLS server (Listener) with Java which means it might be possible to create a custom Groovy based processor to implement it.

avatar
Explorer

Thanks @joseomjr and @steven-matison  for confirming it. That was our initial conclusion.

We checked the ListenUDP Processor source code, and it looks like we could adapt it, and create a new implementation for the org.apache.nifi.processor.util.listen.dispatcher.ChannelDispatcher interface; replacing the existing implementation (org.apache.nifi.processor.util.listen.dispatcher.DatagramChannelDispatcher).

On the other hand, we are also looking at the possibility to use CoAP instead, and completely rewrite that Processor, but it also depends on our clients that will interact with it.

Many thanks again. 

avatar
Community Manager

@mango Has the reply helped resolve your issue? If so, please mark the appropriate reply as the solution, as it will make it easier for others to find the answer in the future. Thanks.


Regards,

Diana Torres,
Community Moderator


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community:

avatar

@mango @joseomjr  Currently DTLS not supported with ListenUDP.

You certainly can build your own processor or work on a version of ListenUDP that includes the necessary code changes.  Additionally it may be worth taking a look at the new python native capability in NiFi 2.0.   

avatar
Explorer

@steven-matison can you provide more details on that suggestion regarding DTLS? (python native capabilities in Nifi 2.0). 

avatar

CHeck out this link @joseomjr shared in another post:

 

https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version2.0.0-M1

 

And here is a great blog from Pierre Villard:  
https://medium.com/cloudera-inc/getting-ready-for-apache-nifi-2-0-5a5e6a67f450

 

 

Nifi 2.0 brings python native, where jython was very limited library set.