From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

回复: SSL TLS Support

Solved!
Go to solution
I have a problem when I use TCP to receive a request of https, I cannot get the data that I want. I need some help.thanks!
0 Kudos
Message 1 of 16
(2,507 Views)

Do you use LabVIEW 2020? If so check for TLS in the example finder. If not, upgrade!

Rolf Kalbermatter
My Blog
0 Kudos
Message 2 of 16
(2,463 Views)

LabVIEW2020 is not friendly to Linux,I need a native https library, which is implemented through tcp basic functions,But I did not find a similar library!

0 Kudos
Message 3 of 16
(2,416 Views)
Solution
Accepted by mybook

@mybook wrote:
But I did not find a similar library!

That’s because it may not really exist. Almost all the alternative LabVIEW libraries out there use .Net which is of course is not an option on Linux.

 

I did work on a cross platform library years ago, which used OpenSSL for the TSL functionality but it never got in a released state for many reasons, OpenSSL’s security problems were only one of them, their version incompatible API changes another one. But when I got to know about the plans for native support in LabVIEW 2020, that was the final nail in the coffin for this.

 

I know that the LabVIEW Encryption Compendium got released code and the guy was even working on cross platform support. Maybe you want to ping them.

Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 16
(2,408 Views)

Rolf,

 

Even if the OP isn't running LV 2020, wouldn't the existing HTTP VIs support what he needs?  I was transacting with a secure web server using them back in LV 2014.  The trick seemed to be to get the appropriate certificate(s) into the certificate storage (NOT the Windows cert store) on the client PC.  I forget the details, but I had to do some export/import task (one-time).

 

 And my recollection was that the HTTP VIs were available cross-platform, based on an NI .dll or .so further based on libCURL and OpenSSL.

 

Dave

David Boyd
Sr. Test Engineer
Abbott Labs
(lapsed) Certified LabVIEW Developer
0 Kudos
Message 5 of 16
(2,382 Views)

If you only want to do http(s), you definitely should be using the HTTP VIs, which are available multi-platform since at least around LabVIEW 2014. While it’s possible to do HTTP on top of the LabVIEW native TCP/lP nodes, this quicly will turn into a time sink as you try to support more and more features, web server intrinsicacies and other difficulties.

 

I was under the, possibly false, assumption that the OP wanted to do TSL socket. communication.

Rolf Kalbermatter
My Blog
0 Kudos
Message 6 of 16
(2,370 Views)

My iPhone makes a request through request. My computer can accept this request. This is my practical application. I am developing now, no matter what, it is difficult for me to get this data through https.


@DavidBoyd  已写:

Rolf,

 

Even if the OP isn't running LV 2020, wouldn't the existing HTTP VIs support what he needs?  I was transacting with a secure web server using them back in LV 2014.  The trick seemed to be to get the appropriate certificate(s) into the certificate storage (NOT the Windows cert store) on the client PC.  I forget the details, but I had to do some export/import task (one-time).

 

 And my recollection was that the HTTP VIs were available cross-platform, based on an NI .dll or .so further based on libCURL and OpenSSL.

 

Dave


 

0 Kudos
Message 7 of 16
(2,357 Views)

Because it is a small application, I want to use LabVIEW to implement https requests on my mobile phone, and I don’t want to use other web servers.

0 Kudos
Message 8 of 16
(2,355 Views)
Solution
Accepted by mybook

@mybook wrote:

Because it is a small application, I want to use LabVIEW to implement https requests on my mobile phone, and I don’t want to use other web servers.


I'm feeling a little confused. LabVIEW does not run on a mobile phone!

 

If you mean that you have a web interface and want to make HTTPS requests from that to the LabVIEW application you could do that with web services (which also work on Linux systems). The LabVIEW app on your Linux platform contains a web service that your mobile phone interacts with.

 

Technically the web service works through a web server on the LabVIEW system. This can be either the NI embedded web server or in recent LabVIEW versions it can also be delegated to an Apache web server. The web server then sends the request to the LabVIEW web service which can react on it. While it is possible to build your own web server in LabVIEW this also quickly gets worrysome as HTTP is a pretty complicated standard to implement fully.

 

 

Rolf Kalbermatter
My Blog
0 Kudos
Message 9 of 16
(2,336 Views)
Solution
Accepted by mybook

I developed a library that use LibreSSL for OSX, here https://labview.epfl.ch

See the provided examples (web server, web socket server, etc) and let me know if it is what you need. If yes I can provide you with the source code in c.

 

Chris

0 Kudos
Message 10 of 16
(2,239 Views)