LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW 2009 - SSL and HTTPS

I saw a link that talks about how LabVIEW 2009 has added support for SSL.  What I didn't see mentioned is, what version?  I have to interface to a server that will be using TLSv1.0 which is supposed to be equivalent to SSL v3.0.  I tried to determine this from the screen shots at this link, but they're too grainy.

 

http://decibel.ni.com/content/docs/DOC-5941

 

 
0 Kudos
Message 1 of 8
(3,685 Views)
Try zooming in with your browser.  Or click on the picture and it should download and open in whatever your default image program is for .png files.
Message 2 of 8
(3,683 Views)

mrbean wrote:

I saw a link that talks about how LabVIEW 2009 has added support for SSL.  What I didn't see mentioned is, what version?  I have to interface to a server that will be using TLSv1.0 which is supposed to be equivalent to SSL v3.0.  I tried to determine this from the screen shots at this link, but they're too grainy.

 

http://decibel.ni.com/content/docs/DOC-5941

 

 

What you see in that post is the SSL support built into LabVIEW itself when acting as WebServer. What you want to do is having SSL support for your HTTP client implementation. Adding SSL support to such a setup is highly tricky when trying to do it in LabVIEW itself. Interfacing OpenSSL would be a possibility using the Call Library Node but that is a lot of work.

 

What I have done in the past is simply implement a HTTP client in LabVIEW that supports proxy server communication and then use stunnel to let it handle the security aspects of the HTTPS communication. Basically you point your HTTP VIs to connect to the local stunnel port and let stunnel do the actual HTTPS encryption. Fairly easy to do, but your HTTP VIs need to support proxy communication (that is not really difficult, but you need to connect to the proxy port and send the fully qualified URI in your HTTP requests).

 

Rolf Kalbermatter

Message Edited by rolfk on 09-10-2009 10:04 AM
Rolf Kalbermatter
My Blog
Message 3 of 8
(3,660 Views)
Any chance you can expand upon how to implement a HTTP client in LabVIEW that supports proxy server communication.
0 Kudos
Message 4 of 8
(3,624 Views)

While with normal HTTP you connect directly to the target server and only send the URI path without server address in the HTTP request, in the proxy case you will connect to the proxy address and send the entire URL including the server address in the HTTP request.

 

Rolf Kalbermatter

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 8
(3,618 Views)

I'm still stuck on your statement "simply implement a HTTP client in LabVIEW that supports proxy server communication and then use stunnel to let it handle the security aspects of the HTTPS communication".  Other than a little reading on all of this, I'm quite green in this area.  I don't know if you're able to break this down into baby steps for me (you won't insult me).

 

What we have now is a server that (over secure link) sends html (web pages) to a client that (using Internet Explorer) displays these pages.  The user enters button clicks, data, etc, to command the server to do certain tasks (the server is actually a radio).   The server and client code were written by a third party.  Now, WE are supposed to develop our own client such that the server (over this same secure link) can send me XML instead of html.  I'm supposed to parse this XML and generate a http request using POST method (I saw where LabVIEW Web Server uses PUT and DELETE) and the web server will respond with HTTPS containing XML response (etc).

 

I was going to use easyXML from JKI Software to parse the XML, but that's about as far as I got.  First, I'm not sure how to establish the server communication, and second, I'm not sure how to handle the security aspects.  You mentioned using stunnel - I've also seen QT Framework, and Visual C++ suggested as I think it has similar MFC classes that support http implementation. 

 

To throw another variable into this ... I'm used to using TestStand to sequence through all my LabVIEW tests.  I'm having a very difficult time conceptualizing (if that's a word) how this secure link is going to be "kicked off" by TestStand, but handled by LabVIEW and stunnel (or equivalent).  Most likely, due to time constraints, I'll have to punt this to some other group that has experience in this sort of thing.  I was just hoping to learn something new.

0 Kudos
Message 6 of 8
(3,573 Views)

Hey mrbean,

 

Unfortunately, I am not sure I fully understand what it is you are trying to do. However, take a look at this Knowledgebase that discusses how LabVIEW supports SSL and HTTPS.

Hope this helps.
-Ben

WaterlooLabs
0 Kudos
Message 7 of 8
(3,544 Views)

He wants to connect from a LabVIEW app to a HTTPS server. The added support in LabVIEW is for HTTPS when acting as WebServer itself, which this is not about. I'm still trying to get a drop in replacement for the TCP/IP VIs that would allow that Smiley Very Happy

 

Unfortunately SSL is a little to complicated to be completely implemented in LabVIEW, aside of the security concerns of creating and using a security software with little to no peer review involved. So the only way to do this is to completely replace the TCP/IP built in nodes with VIs that access directly a shared library, which in turns uses OpenSSL for all the SSL stuff.

 

Rolf Kalbermatter

Message Edited by rolfk on 09-17-2009 08:36 AM
Rolf Kalbermatter
My Blog
0 Kudos
Message 8 of 8
(3,523 Views)