Mein Kunde verwendet ein selbstsigniertes Zertifikat, damit eine Anwendung funktioniert. Um arbeiten zu können, muss ich das Stammzertifikat installieren, mit dem das Zertifikat signiert wurde.
Ist es möglich, ein Stammzertifikat so zu konfigurieren, dass es nur für eine Domäne gültig ist?
certificate
restrictions
MichaelD
quelle
quelle
Antworten:
Als Faustregel gilt:
Nein . Wenn Sie dem CA-Zertifikat des Kunden vertrauen, müssen Sie jedem Zertifikat vertrauen, das von dieser CA signiert wurde.
Ich kenne keine Anwendungen / Bibliotheken mit einer einfachen Option, mit der Sie als Endbenutzer auswählen können, dass Sie Ihren Kunden oder anderen CA-Zertifikaten nur für bestimmte (Sub-) Domains, dh nur für *, vertrauen. example.com und * .example.org und sonst nichts.
Mozilla hat eine ähnliche Besorgnis über derzeit vertrauenswürdige Regierung CA als gesponserte offene Aufmerksamkeit Punkt und zum Beispiel Chrome hat extra gebaut Kontrollen für den Zugriff auf Google - Websites, die waren , wie der Schurke * .google.com Zertifikat und der Kompromiss der DigiNotar CA Öffentlichkeit wurden .
Aber auch wenn Sie der Zertifizierungsstelle nicht vertrauen, können Sie ein bestimmtes von dieser Zertifizierungsstelle signiertes Serverzertifikat importieren / vertrauen, wodurch SSL-Warnungen für die Hostnamen in diesem Zertifikat verhindert werden. Damit sollte Ihre Bewerbung fehler- und beschwerdefrei funktionieren.
Ausnahmen:
Eine sehr wenig genutzte Option des X.509v3-PKI-Standards ist die Namensbeschränkungserweiterung , die es einem CA-Zertifikat ermöglicht, White- und Blacklists von Domainnamenmustern zu enthalten, für die es Zertifikate ausstellen darf.
Möglicherweise haben Sie Glück und Ihr Kunde hat sich zurückgehalten, als er seine PKI-Infrastruktur eingerichtet und diese Namensbeschränkung in sein CA-Zertifikat aufgenommen hat. Dann können Sie ihr CA-Zertifikat direkt importieren und wissen, dass es nur einen begrenzten Bereich von Domain-Namen validieren kann.
quelle
example.com
oder*.ad.example.com
gültig sind. Ihre interne Zertifizierungsstelle kann auch Zertifikate ausstellen, um*.example.bank
einen netten Man-in-the-Middle-Angriff zu ermöglichen und Ihre Online-Banking-Anmeldeinformationen zu erheben.@ CryptoGuy hatte hier eine ziemlich gute Antwort, aber ich wollte es erweitern.
Umschreiben:
Und so funktioniert das (mithilfe der OpenSSL-Befehlszeilen-CA)
Erstellen Sie eine einfache Zertifizierungsstelle
Sie können das Erstellen einer Zwischenzertifizierungsstelle überspringen
Erstellen Sie eine Zwischenzertifizierungsstellenanforderung mit Namensbeschränkungen.
Mit diesem in der
ossl_domain_com.cfg
Datei:Unterschreiben Sie dann diese Zwischen-Domänen-Zertifizierungsstelle mit Ihrer Zertifizierungsstelle.
Wenn Sie das Erstellen des Zwischenprodukts übersprungen haben, signieren Sie mit Ihrer Stammzertifizierungsstelle
Signieren Sie nun die CA der ursprünglichen Domain unter Ihrer Autorität mit ihrem Zertifikat neu. Hier können Sie die CA-Erweiterungen hinzufügen.
Möglicherweise müssen Sie das
-x509-to-req
Argument verwenden, um eine Anfrage zu erstellen, die Sie genauso wie das Zwischenprodukt oben signieren würden.Fügen Sie nun Ihre Stammzertifizierungsstelle, Zwischenzertifizierungsstelle und die domänenübergreifende Zertifizierungsstelle zur Vertrauensdatenbank Ihres Browsers hinzu.
quelle
basicConstraints
scheint die Zeile in der Konfigurationsdatei dazu zu führen, dass die Einschränkungserweiterung zweimal im Zertifikat enthalten ist, wodurch Firefox das Zertifikat mit einer kryptischen Fehlermeldung ablehnt. Ich denke, es kann sicher entfernt werden.error with certificate to be certified - should be self signed
. Was bedeutet das und wie kann man das lösen? pastebin.ubuntu.com/p/QHhpQh2N6J