Die Antwort ist ja. Kurz gesagt, es handelt sich um ein SAN-Zertifikat (Subject Alternative Name), das IPs enthält, unter denen Sie normalerweise DNS-Einträge sehen würden. Der Zertifikatstyp ist nicht auf öffentliche IPs beschränkt - diese Einschränkung wird nur von einer Unterzeichnungsstelle und nicht von der Technologie auferlegt. Ich wollte diesen Punkt nur klarstellen. Ich vermute, dass Sie einfach nur die lästige unsichere Eingabeaufforderung auf Ihren internen Websites und Geräten loswerden wollen, ohne die Kosten und den Aufwand, ihnen DNS-Namen zu geben und dann für eine Zertifizierungsstelle zu bezahlen, die alle ein oder zwei Jahre ein Zertifikat ausstellt. Sie sollten NICHT versuchen, die Welt davon zu überzeugen, dass es sich bei Ihrer IP-Adresse um eine seriöse Website handelt, und die Leute sollten sich bei der Angabe ihrer Zahlungsinformationen wohl fühlen. Nachdem wir nun festgestellt haben, warum kein seriöses Unternehmen diese Art von Zertifikat ausstellen will, können wir es selbst mit einem selbst signierten SAN-Zertifikat tun. Intern verfüge ich über ein vertrauenswürdiges Zertifikat, das auf allen unseren Hosts eingesetzt wird, dann signiere ich diese Art von Zertifikat damit und alle Geräte werden vertrauenswürdig. Dies hier zu tun, würde den Rahmen der Frage sprengen, aber ich denke, es ist für die Diskussion relevant, da Frage und Lösung Hand in Hand gehen. Um es kurz zu machen, hier ist, wie man ein individuelles selbstsigniertes SAN-Zertifikat mit IP-Adressen generiert. Erweitern Sie die IP-Liste auf Ihr gesamtes Subnetz und verwenden Sie ein Zertifikat für alles.
#!/bin/bash
#using: OpenSSL 1.1.1c FIPS 28 May 2019 / CentOS Linux release 8.2.2004
C=US ; ST=Confusion ; L=Anywhere ; O=Private\ Subnet ; EMAIL=admin@company.com
BITS=2048
CN=RFC1918
DOM=company.com
SUBJ="/C=$C/ST=$ST/L=$L/O=$O/CN=$CN.$DOM"
openssl genrsa -out ip.key $BITS
SAN='\n[SAN]\nsubjectAltName=IP:192.168.1.0,IP:192.168.1.1,IP:192.168.1.2,IP:192.168.1.3,IP:192.168.1.4,IP:192.168.1.5,IP:192.168.1.6,IP:192.168.1.7,IP:192.168.1.8,IP:192.168.1.9,IP:192.168.1.10'
cp /etc/pki/tls/openssl.cnf /tmp/openssl.cnf
echo -e "$SAN" >> /tmp/openssl.cnf
openssl req -subj "$SUBJ" -new -x509 -days 10950 \
-key ip.key -out ip.crt -batch \
-set_serial 168933982 \
-config /tmp/openssl.cnf \
-extensions SAN
openssl x509 -in ip.crt -noout -text