LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
RichardJennings

SSL TLS Support

Status: Completed

Available in LabVIEW 2020 and later. The TLS functions are available in the Functions > Data Communication > Protocols > TCP > Transport Layer Security (TLS) palette.

LabVIEW needs native SSL/TLS support for the TCP primitives. The HTTP functions support it (see \vi.lib\httpClient\ConfigSSL.vi). There are several great LabVIEW native MQTT libraries that could be commercially usable if there was native SSL/TLS support. Not having this functionality for the TCP primitives makes LabVIEW a poor choice for an IoT platform.

32 Comments
_Chris
Member

I second Richard's suggestion, we also need IP v6 support, etc. TCP/IP VIs did not evolve over the last 10 (20 ?) years. It really becomes URGENT and of course we need a cross-plaform solution (Win, OSX Embedded)!

Mark_Yedinak
Trusted Enthusiast

I agree. With security becoming much more of a concern we need to have native support for SSL. The current toolkits available work with dotNet and therefore are not cross platform.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
_Chris
Member

I have a initial version of SSL for TCP (still in a beta stage) than works for LabVIEW OSX, it should be "easy" to port for other unix and probably Windows platform.

Interested people can contact me directly.

 

Christophe

 

borg1384
Member

It seems the big IoT players offering cloud platforms insist on secure connections.  With the lack of SSL/TLS support, my efforts to enable this kind of connectivity in LabVIEW have been frustrated.

 

Fred Kautz

wiebe@CARYA
Proven Zealot

I've used stunnel for this. Works fine. Wraps any connection in an ssl tunnel...

jqu
Member
Member

I totally agree. Just to keep this topic alive: the original request came in 2016, which was already quite late since internet security had not just been invented then. Now it's 2018 and we still don't have native SSL/TLS support in LabVIEW. NI, I think it's about time...

_Chris
Member

For OSX users, I've posted LVTLS (v.0.86) a library which brings TLS support to LabVIEW.

This library relies on LibreSSL functions mapped into LabVIEW equivalent TCP VIs, these VIs are:

  • LVTLS_TCP_CreateListener.vi
  • LVTLS_TCP_Open_Connection.vi
  • LVTLS_TCP_WaitOnListner.vi
  • LVTLS_TCP_Write.vi
  • LVTLS_TCP_Read.vi
  • LVTLS_TCP_Close_Connection.vi

These VIs are "pin" compatible with LabVIEW TCP VIs. You can switch to the original behaviour by setting the project properties 

Conditional Disable Symbols to TCP native to get LabVIEW builtin vi.

Many examples are provided: client & server demo, including web-sockets transmissions.

Helper VIs to create self-signed certificates, to retrieve CA certificates, check online version, map ip address, etc. are provided.

These VIs are mainly tested on LabVIEW 2018 (64b) and then saved to LabVIEW 2015 (32b).

 

To get the latest version check https://labview.epfl.ch

 

Chris

Brian_JPL
Member

Hello Chris,

 

You mentioned this would be fairly easy to port over to windows or lunix?  Would that be possible?  Need it to establish secure web socket connection.

 

Thanks,

Brian

smithd
Active Participant

Libressl is supported on windows, so I imagine it should port without much difficulty if the source is available.

 

The downside to this implementation is that the network communication happens inside of the dll, so there is a limit on the max number of simultaneous actions (limited by the number of threads LabVIEW allocates)

Labview_expert
Member

What is status of TLS/SSL websocket?

Is this supported by Labview now? I need to support not only TLS/SSL websocket but also IPv6.