enilink / llrp4j

LLRP protocol and networking for Java
24 stars 8 forks source link

Add support for TLS #16

Open tylerlofgren opened 3 years ago

tylerlofgren commented 3 years ago

Right now the NioClient only connects via unencrypted sockets. This would create a client that has support for TLS.

I work for Target and we're utilizing this project for our LLRP layer, but we have a requirement that it must be encrypted. I had planned to submit an implementation of this TLS connector if there was an appetite for it, but this project uses base Java NIO for its networking layer, and using SSL engine is notoriously difficult. One of the marketed pros of using this project is that it only has the single SLF4J dependency, but I wanted to ask before I started if it would be ok to add another small dependency for this project which has a great abstraction over SSLEngine.

Sorry for hijacking this issue as basically an email, but let me know your thoughts or if there's a better way to engage the owners on this.

kenwenzel commented 3 years ago

Feel free to add this. I also thought about completely dropping the NIO layer and switching to Java standard IO due to #11. Unfortunately, I don't have time to investigate this.