1

Let's say I made a platform called the HelloWorld Platform. The HelloWorld Platform consists of one RaspberryPi that hosts PHP based REST API and one RaspberryPi that has temperature sensor that relays data to a self-hosted bash script which then sends information via curl to the RaspberryPi with the PHP REST API over the Local Area Network via Wifi.

A customer bought my HelloWorld Platform. My customer says he wants me to encrypt traffic between the two RaspberryPi with TLS/SSL. My customer plans to move the HelloWorld Platform from one physical location to another (eg. sometimes he will use HelloWorld Platform in his office, sometimes at his home, sometimes in another country, sometimes on a boat at sea etc...). Thus, the local network ip address of the two RPIs will change every time he uses the platform at a different physical location on a different Local Area Network.

While at his office, his two PIs might have the ip address 192.168.0.10 and 192.168.0.11. While on a boat at sea, it might be 172.0.2.23 and 172.0.2.24. Etc....

I want to generate one certificate authority that signs one set of certificates that can be verified against all the different ip addresses that could come up.

It seems like I'm asking for some kind of "super wild card" certificate, which I think is not possible? Or is there a better way to handle this situation without having to generate new certificates every time the customer uses a different LAN?

My PIs can get around the problem by adding the -k option like curl -k POST https://<ip of other PI>/. But I prefer for ssl verification to take place.

3
  • 2
    You/they could use a predefined name in the cert and one of the several schemes for LAN name resolution, like mDNS/Bonjour or DNS-from-DHCP, or more general but a bit clumsy DDNS, or with (commandline) curl --resolve or --connect-to. PS: curl -k POST is invalid, [-k] -x POST is legal but if you use any of the --form*/-F or --data*/-d options to specify body those automatically use POST so it's redundant. Commented Jan 30, 2024 at 1:36
  • 1
    See also How to do TLS on embedded devices in a home network? Commented Jan 30, 2024 at 8:07
  • 1
    Also related: security.stackexchange.com/questions/121163/… Commented Jan 30, 2024 at 15:28

1 Answer 1

1

The easiest way to accomplish this is by creating your own client. If you have your own mobile app or proxy application, you can implement the certificate verification in any way that you like. You can set it up so that only the certificate of the device is trusted, no matter what IP address it has.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.