Um selbst ausgestellte Zertifikate zu nutzen, ist ein manueller Import der eigenen ROOT CA in den Zertifikatsspeicher der Android Geräte erforderlich.
Android unterstützt DER codierte X.509 Zertifikate, die als Datei mit CRT- oder CER-Endung gespeichert werden.
24.11.2021 - LineageOS mit Android 17.1 26.10.2020 - Huawei MediaPad mit EMUI 9.1 26.10.2020 - Anleitung aktualisiert 10.05.2018 - LineageOS mit Android 7.1
Zertifikat exportieren
Mein lokales Zertifikatsmanagement verwalte ich mit XCA.
In XCA das Root Zertifikat unserer CA als DER mit Endung CRT exportieren und in Google Drive speichern.
Zertifikat importieren
Die Datei öffnen, mit dem Geräte PIN bestätigen, Namen vergeben und das Zertifikat mit OK installieren.
LineageOS
Das installierte Zertifikat findet man unter:
7.1 – Einstellungen → Sicherheit → Vertrauenswürdige Anmeldedaten → Nutzer
17.1 – Einstellungen → Sicherheit → Verschlüsselung und Anmeldedaten → Vertrauenswürdige Anmeldedaten → Nutzer
EMUI
Das installierte Zertifikat findet man unter:
Einstellungen → Sicherheit & Datenschutz → Zusätzliche Einstellungen → Verschlüsselung und Anmeldedaten → Vertrauenswürdige Anmeldedaten → Nutzer
Ergebnis
Jetzt klappt’s auch mit den eigenen Zertifikaten ohne die nervige Fehlermeldung das es keine sichere Verbindung sei.
Ich habe diese Anleitung auf einem Handy mit LineageOS 17.1 probiert. Bie mir funktioniert der Import aber nur mit meinem abgelaufenen CA-Zertifikat. Wenn ich das gültige CA-Zertifikat benutze erscheint die Fehlermeldung ‘Für die Installation von Zertifikaten ist ein privater Schlüssel erforderlich’.
Zertifikat im DER Format mit Endung CRT?
Oder es hat sich bei Android 10 wieder etwas geändert.
Ich habe das gleiche Problem. Die Dateiendung ist .crt
Ausgiebige Online-Suche brachte noch keine Hilfe.
Ich hab das soeben unter LineageOS 17.1 wie oben beschrieben durchgeführt, funktioniert immer noch problemlos.
Nutzt ihr eine andere Verwwaltung, exportiert ihr das Zertifikat auf einem anderen Weg?
Hatte das gleiche Problem.
Es kann gelöst werden, indem man bei dem CSR (Request) der CA x509 in der Version 3 anfordert.
Also über openssl nochmal einen csr anfordern über:
openssl req -new -sha384 -key ca-key.pem -out ca_v3.csr -config ca.conf -extensions v3_req
Dann ganz normal mit der CA signieren.
In der ca.conf müsste das mit folgenden Angaben erweitert werden:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = DE
ST = NRW
L = Beispiel
O = Beispiel
OU = Beispiel
CN = Jantos Tls Ca v3
[v3_req]
basicConstraints = critical,CA:true
Super, danke für die Info!