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?
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?
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!