Wie selbstsigniertes Zertifikat zu Chromium hinzufügen?

Barock

Cadet 4th Year
Registriert
März 2022
Beiträge
74
Mahlzeit,

mein eigenes Zertifikat (base64-codierter ASCII bzw. pem) lässt sich nicht im Chromium importieren. Wenn ich es in den Einstellungen unter Server Zertifikate importieren möchte, kann ich es zwar bei der Dateiangabe auswählen aber es wird nicht übernommen bzw. taucht nicht in der Liste auf. Öffne ich meine lokale Seite, wird das Zertifikat immer noch als unsicher angezeigt. Was mache ich falsch?

Das Zertifikat wurde per openssl richtig generiert. Daran kann es nicht liegen. Andere Chromium-basierte Browser übernehmen es auch nicht.

Vielen Dank für etwaige Unterstützung.
 
openssl req -newkey rsa:4096 -x509 -sha512 -days 365 -nodes -out cert.pem -keyout key.pem
 
Ohne es getestet zu haben, hängt das mit dem Server-Alternative-Name zusammen? Könnte auch das Bit für die Certificate-Authority (CA-Bit) sein. Zeigt die Developer-Konsole bzw. wenn Du Chromium über die Kommando-Zeile startest, irgendwelche Debug-Meldungen?

Aus reiner Neugierde und Off-topic:
Was spricht dagegen, sich ein Zertifikat bei Let’s Encrypt zu holen bzw. eines zu kaufen?
 
Nein, die Erzeugung, wie auf SO beschrieben, hat auch nicht geholfen.

Die Konsolen-Meldung lautet entsprechend:
Code:
An SSL certificate error occurred when fetching the script.
main.5bce04dc731a563c.js:1 Service worker registration failed with: DOMException: Failed to register a ServiceWorker for scope ('https://192.168.8.125:5000/') with script ('https://192.168.8.125:5000/ngsw-worker.js'): An SSL certificate error occurred when fetching the script.
[CODE]

Ich will kein Zertifikat kaufen, weil ich lediglich eine kleine Anwendung (PWA) bauen und testen will. Dazu muss aber die SSL-Verbindung stehen, was aktuell nicht der Fall ist.
 
Barock schrieb:
Ich will kein Zertifikat kaufen […]
a) Let’s Encrypt wäre kostenlos. Könntest es erstmal sogar manuell anfordern.
b) TLS-Zertifikat kostet für 6 Jahre keine 100 €.
Mir war das alles zu blöd und habe mir deswegen Eines geholt. Hatte schon Geräte, die eine Revocation-Liste über OCSP im Zertifikat gefordert hatten. Ja, hätte ich in meiner CA aufbauen können. Hatte ich aber gar keine Lust.
Barock schrieb:
wie auf [StackOverflow] beschrieben
CA:true hast Du auch schon probiert? Leider sitze ich gerade an einem Computer ganz ohne Chromium. Ansonsten würde ich das schnell vorher probieren, bevor ich das „empfehle“.
 
Chromium Browser haben sich da eigen.
Zunächst, laut Deiner Meldung wird da versucht ein Script zu holen von einer privaten Adresse. Ähm, GIBT es an dieser Adresse überhaupt ein Script? 🤔

Die OpenSSL Befehlszeile sagt nichts darüber aus, was im Zertifikat drinsteht. Was hast Du denn als CN eingetragen?
Wie erwähnt muß DNS.* gesetzt sein für Subject Alternative Name in einer Form, daß einer der bzw. exakt der Eintrag mit dem aufzurufenden Hostnamen übereinstimmt.

IP-Adressen haben hier nichts zu suchen. Also falls nötig erst DNS einrichten.

Für Chrome würde ich persönlich nicht zu lange fackeln und eine CA erstellen und damit dann eine CSR für den bewußten Webserver signieren. Google spinnt da alle Naselang mal rum und ist der Meinung, nur man selber wisse was sicher ist und was alle anderen gefälligst zu tun und zu lassen hätten.
Selfsigned? Ist bereits inhärent unsicher.

Was sich von selber verstehen sollte: wenn es im IE und im Firefox (oä) auch schon nicht funktioniert, dann wird Chrome definitiv nicht sagen "na okay, dann will ich mal".
 
Zuletzt bearbeitet:
OK, Du benutzt die IP-Adresse direkt. Wie Ralph schrieb, wüsste auch ich keinen Weg (mehr), wie das gehen sollte.

Aus reiner Neugierde: Warum setzt Du nicht einen Domain-Namen? Wenn Du auf Windows bist über eine Hosts-Datei. Wenn Du auf einer mobilen Plattform bist, dann über Dynamic-DNS. Du trägst dort manuell die lokale IP-Adresse ein. Je nach Router musst Du dann den Rebind-Schutz aufheben.
Barock schrieb:
Ich will nur eine PWA […] testen.
Hast Du Dich in deren Community mal umgehört, wie sowas normalerweise die Web-/App-Developer machen, also beim Debuggen? Ich hätte mir ganz naiv eine Domain gekauft, TLS-Zertifikat für ausgestellt und dann im Router über Port-Freigabe für HTTPs (443) diesen Web-Server vom Internet aus zugänglich gemacht. Hast Du bereits eine Domain (mit Web-Dienst), nimmst Du statt Port 443 einen abstrusen Port.
 
Zurück
Oben