Ich versuche, das selbstsignierte Zertifikat für meinen Webserver in Android 4.3 zu installieren. Ich habe die .crt-Datei im Stammverzeichnis der SD-Karte (die tatsächlich emuliert wird, da sich keine SD-Karte im Steckplatz befindet).
Um das Zertifikat zu installieren, gehe ich zu Einstellungen -> Allgemein -> Sicherheit -> Anmeldeinformationsspeicher -> Vom Gerätespeicher installieren.
Ich erhalte ein Dialogfeld mit dem Namen des Zertifikats (der Dateiname abzüglich der Erweiterung .crt), das ich ändern kann (aber nicht). Ein Pulldown für "Verwendet für" wird angezeigt, wobei "VPN und Apps" ausgewählt ist und unten Text angezeigt wird des Dialogs, der informiert "Paket enthält: ein Benutzerzertifikat". Alles sieht in Ordnung aus, also klicke ich auf "Ok". Der Dialog verschwindet und eine Toastmeldung erscheint mit "[Name] installiert".
Wenn ich jedoch sofort zu "Vertrauenswürdige Anmeldeinformationen" gehe und "Benutzer" auswähle, ist dort nichts! Das neue Zertifikat befindet sich auch nicht unter "System", aber ich würde es dort nicht erwarten Ich erhalte weiterhin die Warnung, dass das Zertifikat der Site nicht vertrauenswürdig ist. Ich habe auch versucht, neu zu starten, aber es macht keinen Unterschied.
Was mache ich falsch? Das völlige Fehlen von Fehlermeldungen ist nicht hilfreich. Ist es möglich, dass mein Zertifikat im falschen Format vorliegt? Ich habe versucht, die .crt-Datei im ssl-Verzeichnis des Servers zu verwenden, und ich habe versucht, sie in das DER-Format zu konvertieren.
Update: Ich habe irgendwo gelesen, dass Android Zertifikate im p12-Format benötigt. Daher habe ich das Apache2-Zertifikat mit dem folgenden Befehl in p12 konvertiert:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
Ich wiederholte dann die obigen Schritte, erhielt die gleiche Erfolgsmeldung und fuhr dann fort, das Zertifikat immer noch nicht in den Benutzeranmeldeinformationen zu sehen, und ich erhalte immer noch den nicht vertrauenswürdigen Zertifikatfehler vom mobilen Browser.