Browser verfügen über eine Liste vertrauenswürdiger "Zertifizierungsstellen" -Zertifikate. Wenn das Zertifikat eines Servers von einem dieser CA-Zertifikate signiert und ordnungsgemäß erstellt wurde, wird die SSL-Warnung nicht angezeigt.
Viele Browser werden mit vielen gängigen Zertifizierungsstellenzertifikaten wie Verisign, Thawte usw. geliefert. In den meisten Browsern können Sie eine neue Zertifizierungsstelle in diese Liste vertrauenswürdiger Zertifizierungsstellen importieren.
So wie Sie Ihr eigenes selbstsigniertes Serverzertifikat erstellen, können Sie auch Ihr eigenes selbstsigniertes CA-Zertifikat erstellen. Sie können das dann verwenden, um Ihr Serverzertifikat zu signieren. Wenn Ihre Zertifizierungsstelle nicht von einer bekannten Firma bereitgestellt wird, was nicht der Fall wäre, wenn Sie sie selbst erstellt haben, muss sie auf der Serverseite explizit importiert werden.
Ich habe das schon früher gemacht xca
. Es enthält Vorlagen für Zertifizierungsstellen und HTTP-Server. Das Verfahren ist das folgende:
- Erstellen Sie einen privaten Schlüssel für Ihre Zertifizierungsstelle
- Erstellen Sie mit diesem Schlüssel eine selbstsignierte Zertifizierungsstelle, indem Sie die Vorlage "CA" verwenden
- Erstellen Sie einen privaten Schlüssel für Ihren Proxy-Server
- Erstellen Sie mit dem zweiten Schlüssel eine "Certificate Signing Request" (CSR), die auf die soeben erstellte Zertifizierungsstelle verweist.
- "Unterschreiben" Sie die CSR, und Sie erhalten das Proxy-Server-Zertifikat, das auf Ihre eigene Zertifizierungsstelle verweist.
Sie müssen dann xca
das CA-Zertifikat exportieren (als Datei, wenn Sie es verwenden ) (aber natürlich ohne privaten Schlüssel). A .pem
wird generiert, aber Sie können die Erweiterung auf ändern .crt
. Wenn ein Benutzer darauf klickt, wird die Installation in Firefox und Internet Explorer sowie möglicherweise in anderen wichtigen Browsern angeboten. Bei der automatischen Installation dieser .crt können Sie:
- Verwenden Sie Gruppenrichtlinien im Internet Explorer
- Leiten Sie die Benutzer auf eine Einführungsseite, auf der sie aufgefordert werden, die CRT-Datei herunterzuladen / zu installieren, um Warnungen zu vermeiden.
Sie können dann die Exportfunktionen für HTTP-Serverzertifikate verwenden (sowohl privaten Schlüssel als auch Zertifikat für die Serverseite exportieren), um Ihren Proxyserver einzurichten.
/etc/ssl/certs/ssl-cert-snakeoil.pem
(Dies ist das, was das Debian-Paketssl-cert
für Sie erstellt). Wir kopieren es auf Host A und rufen es auf/etc/ssl/certs/host-B.pem
(da dieser Host möglicherweise bereits einen hatssl-cert-snakeoil.pem
). Dann rennen wir losln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem)
.