Add SAN name to self signed TLS cert?
- @david
Hello,
I read https://tinypilotkvm.com/faq/own-tls-key/ but didn't find my answer there. I have a Voyager 2a with v2.6.3 and am using it with Tailscale for anywhere access. All working great! I use macOS.
I'd like to avoid the big red Chrome warning by importing and trusting the self-signed TLS cert. But even after doing so, it barks at me and does not like it (Safari doesn't!)
I think it may be because the DNS name I'm using to access the device via Tailscale (tinypilot.ts—a manual DNS name I created in my /etc/hosts file) is not present in the CN or SAN fields of the cert. Is there a way to regenerate the certs adding this entry? Or am I barking up the wrong tree here? Any ideas on how to make this work?
David @david2024-04-15 12:02:21.387ZHi @luckman212, thanks for your question!
I think it may be because the DNS name I'm using to access the device via Tailscale (
tinypilot.ts—a manual DNS name I created in my/etc/hostsfile) is not present in the CN or SAN fields of the cert.That sounds like it could be the issue. TinyPilot's cert is valid for its hostname, the
.localvariant, the.localdomainvariant, and its static IP address (if applicable). So if you access TinyPilot's web interface withhttps://tinypilot.ts, the certificate won't be valid and your browser may flag that.You can add
.tsas an additional Subject Alt Name by editing TinyPilot'scycle-nginx-tls-keysscript, cycling your keys, and re-installing the cert on your client machine.To edit the script, SSH into your TinyPilot and run the following command to add
.tsto the SAN in the script:sudo sed --in-place \ 's/^SUBJECT_ALT_NAME=.*/SUBJECT_ALT_NAME="DNS:${HOSTNAME}, DNS:${HOSTNAME}.local, DNS:${HOSTNAME}.localdomain, DNS:${HOSTNAME}.ts"/' \ /opt/tinypilot-privileged/scripts/cycle-nginx-tls-keysThen run the script with the following command to regenerate your keys:
sudo /opt/tinypilot-privileged/scripts/cycle-nginx-keysOnce the script completes, re-install the cert on your client machine.
If you update your TinyPilot's software, it will overwrite your changes to the script, so you may have to run through those changes again in the future.
I hope that helps! Please let me know if that works and whether you have any questions.
- LIn reply toluckman212⬆:@luckman212
@david Awesome! Thanks for the help. This worked perfectly! I would only suggest that in a future release, a field for custom SAN name(s) would be safer than hand-editing the scripts.

David @david2024-04-15 18:09:15.713ZYou're welcome! I'm glad it all works without issues.
Thanks for the feedback! This is a pretty rare use case. However, I've created a new internal ticket to suggest functionality to add new subject alt names to TinyPilot's certificate. It's not on our short-term roadmap yet, but we’re always working to improve TinyPilot’s software and hardware. We prioritize features based on user demand, so we’ll definitely consider your feedback in our planning.
- L@luckman212
Understood, and thank you again.