I am trying to create a client-server architecture application in a private local area network. I plan to use HTTPS as the protocol between the client and server. Is it possible for me to use HTTPS in a private network without internet connection?
Alternatively to a private CA, if you don't require a great level of secrecy, you can use let's encrypt to issue certificates and use them locally. Your options for this might be:
- Port forward 80 in your router to your local server;
- Public a DNS TXT record temporarily so they can validate domain ownership and issue the certificates.
Let's imagine you've the domain
example.org, you might want to have a server in your network with the subdomain
server.example.org for internal usage only / inaccessible from the internet / no A record for that subdomain.
You can publish a DNS TXT record to your domain DNS server with the let's encrypt validation challenge, run the certificate request and then remove the TXT record once you get the certificate in your server. It will work and only expose the "for internal usage only" subdomain for a few minutes.