Intelligente Lösungen
in neuer Dimension

Zertifikate in Google Chrome

Ein Kunde von uns verwendet für einige seiner Webseiten eine eigene CA. Diese muß man im Chrome importieren, damit die Seiten ohne Zertifikatswarnung geladen werden. Üblicherweise führt man dies global für deinen Rechner durch, so dass das dann immer klappt.

Mir passt das nicht, ich möchte üblicherweise nur den Standard-CAs “trauen” und der Kunden-ca nur dann, wenn ich für den Kunden arbeite.

Beschreibung für Ubuntu-20.04 und Chrome-95.

TLDR:

  • Startskript für den Kunden erstellen: “start-chrome-gap.sh”
  • Darin: Chrome starten mit geänderter HOME-Variablen (HOME=/home/uli/.gap/chrome-home)
  • Darin: Eigener Speicher für die CAs (/home/uli/.gap/chrome-home/.pki/.nssdb)
  • Darin: Alle Zertifikate vom Kunden

Zertifikate bei Google Chrome

Der Artikel Linux Cert Management gibt Hinweise über den Umgang von Google Chrome mit Zertifikaten.

Die Zertifikate liegen unter “${HOME}/.pki/.nssdb”, diese können mit “certutil” aus dem Paket “libnss3-tools” bearbeitet werden!

Test mit dem Zertifikat der Kunden-CA

  • Browsertest: google-chrome-stable –> Kunden-Webseite öffnet mit Zertifikatswarnung
  • Name der Zertifikats: GAPProxyCA.crt
  • Neues HOME-VZ anlegen: mkdir -p ~/.gap/chrome-home
  • Wechsel in das neue HOME-VZ: cd ~/.gap/chrome-home
  • Frischen Zertifikatsspeicher anlegen: rm -rf .pki/nssdb && mkdir .pki/nssdb && certutil -d sql:.pki/nssdb -N --empty-password
  • Zertifikat importieren: certutil -d sql:.pki/nssdb -A -t "C,," -n GAPProxyCA -i GAPProxyCA.crt
  • Inhalt des Zertifikatspeichers auflisten:
1
2
3
4
5
~/.gap$ certutil -d sql:.pki/nssdb -L
    Certificate Nickname                                         Trust Attributes
                                                                 SSL,S/MIME,JAR/XPI
    
    GAPProxyCA                                                   C,,
  • Browsertest: HOME=$(pwd) google-chrome-stable –> Kunden-Webseite öffnet ohne Zertifikatswarnung

Start-Skript für den Kunden

1
2
3
4
5
#!/bin/sh
test -d "${HOME}/.gap/chrome-home" && {
  HOME="${HOME}/.gap/chrome-home"
}
exec google-chrome-stable "$@"

Links

Änderungen

  • 2021-11-12 – Erste Version