Jump to content
Sign in to follow this  
kingcobraninja

HTTPS Client with TLS1.2 for LV2012sp1 in Windows XP

Recommended Posts

Ok anyone who can manage to contain their laughter for a minute, help me out with this.

I need exactly what's in the title. Due to the deprecation of TLS1.0 and SSL3, we're disabling both on our web server that receives status information from hundreds of systems across the country via HTTPS. Some of the systems run Windows 7, some Windows XP. All of them run applications built in LV 2012sp1.

In the past we've used the NI HTTP client VIs, which work well, and still work for some (?) Win7 systems. They don't work for the Windows XP systems. Are these VI's just a wrapper for the OS's HTTP client (IE)?

We've also been down the .net WebRequest path, but from what I can tell the webclient class doesn't support any security protocols past TLS1.0, at least not in .net 2.0, and the HTTPClient class wasn't introduced until .net 4.5, which LV doesn't support, at least not in 2012 sp1.

Lastly, we're considering the Encryption Compendium being offered in the JKI package manager, but it's 629 pounds, and if there's a way to do this without it, it would be preferred.  Also we're not sure it would work with the given constraints.  Has anyone used it/know anything about it?

Any help is appreciated.

Share this post


Link to post
Share on other sites
8 minutes ago, ShaunR said:

LabVIEW 2016 supports TLSv1.2.

We considered this.  From what I understand, there are ways to silently install RTE's from the command line, which would be necessary.  Unfortunately, I'm not sure 2016 will work on Windows XP (I know), which constitutes a significant minority of our systems.  In fact the LabVIEW/OS-support page specifically says "LabVIEW will drop support for Microsoft Windows XP, Windows Vista, and Windows Server 2003 as of July 1, 2016. Versions of LabVIEW that ship after July 1, 2016 will not install or run on Windows XP, Windows Vista, or Windows Server 2003."  So this is probably a no-go.

Share this post


Link to post
Share on other sites

If high performance isn't a requirement, you could install wget or curl and use the system exec function to call it. If you do need performance, you could technically develop a wrapper for libcurl, but it may be more trouble than its worth.

Of course, for some reason I think I read somewhere that the labview functions used curl in some way (in which case why would XP be different?), but that could be totally made up.

  • Like 1

Share this post


Link to post
Share on other sites

Looks like wget can do what we need.  Speed is not especially important here.  According to the documentation, it can even do some posting, which will be needed.  Thanks for the tip!

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By bjones
      Hello all,
      I am currently trying to create an HTTPS server with LabVIEW.
      I have been using the built in TCP VI's for communication with the server and client, however I would like to use SSL or TLS in order to encrypt the data that is being sent across the connection. I know that I can point to either the self-signed cert that comes packaged with LabVIEW, or the certificate that we have for our server on-site.
      I'm fairly certain that I can achieve this by building an assembly in .NET, and then using it in LabVIEW. I have looked around for TCP with TLS libraries for LabVIEW but could only found some out-of-date ones that didn't work with the newest version of LabVIEW. Do these libraries exist somewhere? And if not, is the .NET approach a solid idea?
      Thanks,
      Brandon Jones
    • By WMassey
      In this topic I was helped to understand how to use the HTTP Client VIs to connect to a HTTPS server.
      I have manged to use those Client VIs to gather sufficient (dynamic) information from the server to form the dynamic download links for a series of CSV data files that the server can provide. The HTTP Client VIs seem to me to be able to only return web page header and body information. I have not found a way to use them to grab a file specified by a URL. Is there a way to do this with them? The HTTP Client VIs make use of "Client Handle" RefNums to identify the open connection. Are there other VIs available in the VI library that can also use these same Client Handles and which can transfer a file?
      Thanks!
    • By WMassey
      I am trying to use the HTTP Client VIs to implement a version of the C# code found HERE. Unfortunately there are no NI examples of how the client VIs are to be used and my various attempts to string them together only seem to result in "Error 42" (LabVIEW: Generic Error) from the POST vi, rather than returning the headers and body text.
      I have also tried using DOTNET calls and was at least able to get the login page returned but could not seem to trigger the login.
      I switched to the HTTP Client VIs because they offered an alternate hope and I could at least see where to attach a cookie file with them (though a cookie file may not be the same as reserving space for a session cookie).
      Any guidance would be appreciated!


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.