CA-Zertifikat installieren: Unterschied zwischen den Versionen
Matt (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Quelle: http://wiki.cacert.org/FAQ/ImportRootCert#Android_Phones_.26_Tablets == Einleitung == In Android befinden sich die Zertifikate unter Einstellungen→S…“) |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Android = | |||
Quelle: http://wiki.cacert.org/FAQ/ImportRootCert#Android_Phones_.26_Tablets | Quelle: http://wiki.cacert.org/FAQ/ImportRootCert#Android_Phones_.26_Tablets | ||
Zeile 8: | Zeile 9: | ||
Nutzerzertifikate können über den Menüpunkt "Von SD-Karte installieren" installiert werden. Sie setzen jedoch voraus, dass der Benutzer eine Displaysperre (Z.B. PIN, Passwort oder Muster) einsetzt. | Nutzerzertifikate können über den Menüpunkt "Von SD-Karte installieren" installiert werden. Sie setzen jedoch voraus, dass der Benutzer eine Displaysperre (Z.B. PIN, Passwort oder Muster) einsetzt. | ||
Systemzertifikate | Die Installation von Systemzertifikate setzt Root-Rechte auf dem Android-Gerät voraus. Systemzertifikate setzen jedoch keine Displaysperre voraus. | ||
[[Kategorie:Android]] | == Installation eines CA-Zertifikats als Systemzertifikat == | ||
Voraussetzung sind Root-Rechte. | |||
=== Zertifikat vorbereiten === | |||
Zunächst wird vom CA-Zertifikat der Hash festgestellt: | |||
openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1 | |||
Es wird der Parameter <code>-subject_hash_old</code> statt <code>-subject_hash</code> verwendet, um einen Hash-Wert zu erhalten, der auch noch zu OpenSSL 0.9 kompatibel ist. | |||
An den angezeigten Hash-Wert wird <code>.0</code> angehängt. Dies wird dann als Dateiname für das Android-Zertifikat verwendet, z. B.: | |||
cat cacert.pem > 12345678.0 | |||
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0 | |||
=== Zertifikat auf Android übertragen === | |||
Das CA-Zertifikat wird am einfachsten mit adb übertragen: | |||
adb push 12345678.0 /sdcard/ | |||
=== Zertifikat auf Android installieren === | |||
su | |||
Ordner <code>/system</code> ummounten, damit er writeable ist. Nach einem Neustart wird der Ausgangszustand automatisch wieder hergestellt: | |||
mount -o remount,rw /system | |||
Zertifikat an den korrekten Ort in Android kopieren: | |||
cp /sdcard/12345678.0 /system/etc/security/cacerts/ | |||
Zugriffsrechte der Datei korrigieren auf u=rw, g=r, o=r: | |||
cd /system/etc/security/cacerts/ | |||
chmod 644 12345678.0 | |||
Prüfung, ob die Dateien korrekte Rechte haben: | |||
ls -al -Z | |||
Parameter '-Z' kann weggelassen werden, wenn ein Android ohne SElinux verwendet wird. Es zeigt nur einige zusätzliche Sicherheitsparameter an. | |||
Es sollte nun eine neue Datei sichtbar sein: | |||
-rw-r--r-- root root u:object_r:system_file:s0 12345678.0 | |||
Die Zertifikate werden beim Reboot neu geladen. Daher Gerät neu starten: | |||
reboot | |||
[[Kategorie:Android]] | |||
= Linux = | |||
== Gnome == | |||
[[Kategorie:Kryptographie]] | [[Kategorie:Kryptographie]] | ||
[[Kategorie:OpenSSL]] | |||
CA-Zertifikat muss erst vom PEM-Format ins CRT-Format konvertiert werden: | |||
openssl x509 -in foo.pem -inform PEM -out foo.crt | |||
Danach Zertifikat ins lokale CA-Zertifizierungsstellen-Verzeichnis kopieren: | |||
# cp foo.crt /usr/local/share/ca-certificates | |||
Anschließend die Zertifikate neu einlesen: | |||
# dpkg-reconfigure ca-certificates | |||
Dabei werden (scheinbar?) Links für Zertifikate in <code>/usr/share/ca-certificates</code> und <code>/usr/local/share/ca-certificates</code> in <code>/etc/ssl/certs</code> erstellt. |
Aktuelle Version vom 15. September 2017, 20:51 Uhr
Android
Quelle: http://wiki.cacert.org/FAQ/ImportRootCert#Android_Phones_.26_Tablets
Einleitung
In Android befinden sich die Zertifikate unter Einstellungen→Sicherheit→Vertrauenswürdige Anmeldedaten.
Ab Android 4.0 wird zwischen Systemzertifikaten und Nutzerzertifikaten unterschieden.
Nutzerzertifikate können über den Menüpunkt "Von SD-Karte installieren" installiert werden. Sie setzen jedoch voraus, dass der Benutzer eine Displaysperre (Z.B. PIN, Passwort oder Muster) einsetzt.
Die Installation von Systemzertifikate setzt Root-Rechte auf dem Android-Gerät voraus. Systemzertifikate setzen jedoch keine Displaysperre voraus.
Installation eines CA-Zertifikats als Systemzertifikat
Voraussetzung sind Root-Rechte.
Zertifikat vorbereiten
Zunächst wird vom CA-Zertifikat der Hash festgestellt:
openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1
Es wird der Parameter -subject_hash_old
statt -subject_hash
verwendet, um einen Hash-Wert zu erhalten, der auch noch zu OpenSSL 0.9 kompatibel ist.
An den angezeigten Hash-Wert wird .0
angehängt. Dies wird dann als Dateiname für das Android-Zertifikat verwendet, z. B.:
cat cacert.pem > 12345678.0 openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0
Zertifikat auf Android übertragen
Das CA-Zertifikat wird am einfachsten mit adb übertragen:
adb push 12345678.0 /sdcard/
Zertifikat auf Android installieren
su
Ordner /system
ummounten, damit er writeable ist. Nach einem Neustart wird der Ausgangszustand automatisch wieder hergestellt:
mount -o remount,rw /system
Zertifikat an den korrekten Ort in Android kopieren:
cp /sdcard/12345678.0 /system/etc/security/cacerts/
Zugriffsrechte der Datei korrigieren auf u=rw, g=r, o=r:
cd /system/etc/security/cacerts/ chmod 644 12345678.0
Prüfung, ob die Dateien korrekte Rechte haben:
ls -al -Z
Parameter '-Z' kann weggelassen werden, wenn ein Android ohne SElinux verwendet wird. Es zeigt nur einige zusätzliche Sicherheitsparameter an.
Es sollte nun eine neue Datei sichtbar sein:
-rw-r--r-- root root u:object_r:system_file:s0 12345678.0
Die Zertifikate werden beim Reboot neu geladen. Daher Gerät neu starten:
reboot
Linux
Gnome
CA-Zertifikat muss erst vom PEM-Format ins CRT-Format konvertiert werden:
openssl x509 -in foo.pem -inform PEM -out foo.crt
Danach Zertifikat ins lokale CA-Zertifizierungsstellen-Verzeichnis kopieren:
# cp foo.crt /usr/local/share/ca-certificates
Anschließend die Zertifikate neu einlesen:
# dpkg-reconfigure ca-certificates
Dabei werden (scheinbar?) Links für Zertifikate in /usr/share/ca-certificates
und /usr/local/share/ca-certificates
in /etc/ssl/certs
erstellt.