Mai 9, 2013

CAcert-Zertifikate auf Android Jelly-Bean Geräten installieren

Android hat leider standardmäßig das CAcert-Root-Zertifikat nicht vorinstalliert. Installiert man es als Anwender, zwingt einen Android PIN oder Passwort als Bildschirmsperre zu verwenden, was unpraktisch ist um das Gerät "mal eben" zu entsperren.

Man kann aber ziemlich einfach auf einem Gerät mit Root-Zugriff die Zertifikate installieren, wie hier beschrieben.

Hier noch einmal die Anleitung für Root- und Class3-Zertifikat über einen Computer der via ADB und USB-Debugging auf dem Android-Gerät verbunden ist:

Vorsicht, Anwendung auf eigene Gefahr:

# Zertifikate laden
wget https://www.cacert.org/certs/root.crt
wget https://www.cacert.org/certs/class3.crt
# Informationen die bei Android mit in der Datei stehen eintragen
openssl x509 -noout -in root.crt -text >>root.crt
openssl x509 -noout -in class3.crt -text >>class3.crt
# Dateinamen entsprechend der Zertifikat-Hashs
root_cert_filename=$(openssl x509 -noout -in root.crt -subject_hash_old).0
mv root.crt $root_cert_filename
class3_cert_filename=$(openssl x509 -noout -in class3.crt -subject_hash_old).0
mv class3.crt $class3_cert_filename
# Zertifikate auf das Gerät kopieren
adb push $root_cert_filename /sdcard/
adb push $class3_cert_filename /sdcard/
# Shell auf dem Gerät
adb shell
# /system read-write mounten
mount -o remount,rw /system
# Zertifikate kopieren, geht davon aus, dass keine anderen .0 Dateien in /sdcard/ liegen.
# mv geht auf Android nur auf dem gleichem Dateisystem
cp /sdcard/*.0 /system/etc/security/cacerts/
rm /sdcard/*.0
# Rechte anpassen
chmod 644 /system/etc/security/cacerts/*.0
# System wieder read-only mounten
mount -o remount,ro /system
Eventuell ist danach ein Reboot nötig.

Nicht wundern, wenn in der Zertifikatsliste unter CAcert nur das Class3-Zertifikat zu sehen ist, das Root-Zertifikat sortiert sich mit dem Namen "Root CA" in die Liste ein.

[Update] Die class3.crt Datei muss natürlich den Namen der in $class3_cert_filename steht bekommen. Danke oxc.

Kategorien Software Tipps OpenSource
Tagged Android JellyBean CAcert Zertifkate CA Certificate
Mobil qrcode zeigen

1 Kommentar

Kommentare
Juli 23, 2013 15:27 - oxc

Danke, sehr hilfreich!

Ein kleiner Fehler hat sich eingeschlichen, statt # mv class3.crt $root_cert_filename muss es heißen: # mv class3.crt $class3_cert_filename


Kommentar schreiben