#language cs ## 20210714 AK ---- '''česky''' | [[FAQ/ImportRootCertAndroidPreICS|english]] ---- = Jak importovat kořenový certifikát CAcert do starší verze Androidu před 'Ice Cream Sandwich' ('Gingerbread', 'Froyo', ... = Před Androidem verze 4.0 (zvané "ICS", "Ice Cream Sandwich") existoval jediný soubor, určený jen pro čtení (read-only): /system/etc/security/cacerts.bks obsahující důvěryhodné úložiště s certifikáty všech CA, kterým Android standardně důvěřuje. Používaly ho jak systémové aplikace, tak aplikace vyvíjené nástrojem Android SDK (Software Development Kit). ==== Způsob 1: Android verze 4.0 a vyšší ==== Viz hlavní článek o importu kořenových certifikátů CAcert do Androidu - [[FAQ/ImportRootCert/CZ| Import kořenových certifikátů]] ==== Způsob 2: Android SDK ==== Předpoklady: * Na telefonu * Přístup správce (Root) * Na počítači * Java 1.6 * Android SDK * Přístup správce (Root/Administrator), nebo znalost úpravy CLASSPATH ===== Krok 1: Získat potřebné soubory ===== * Stáhnout http://bouncycastle.org/download/bcprov-jdk16-141.jar a umístit do adresáře $JAVA_HOME/jre/lib/ext/ * Stáhnout http://www.cacert.org/certs/root_X0F.crt do Vašeho pracovního adresáře * Volitelně: Stáhnout http://www.cacert.org/certs/class3_x14E228.crt do Vašeho pracovního adresáře ===== Krok 2: Zavést cacerts.bks z telefonu ===== {{{ $ adb pull /system/etc/security/cacerts.bks cacerts.bks 407 KB/s (51899 bytes in 0.124s) }}} (Velikost souboru a přenosová rychlost se mohou lišit) ===== Krok 3: Importovat kořenové certifikáty CAcert do cacerts.bks ===== {{{ $ keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file root_X0F.crt Owner: EMAILADDRESS=support@cacert.org, CN=CA Cert Signing Authority, OU=http://www.cacert.org, O=Root CA Issuer: EMAILADDRESS=support@cacert.org, CN=CA Cert Signing Authority, OU=http://www.cacert.org, O=Root CA Serial number: 0 Valid from: Sun Mar 30 09:29:49 GMT-03:00 2003 until: Tue Mar 29 09:29:49 GMT-03:00 2033 Certificate fingerprints: /!\ MD5: A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B /!\ NAHRAZENO SHA256: + <"otisk prstu"> SHA1: dd:fc:da:54:1e:75:77:ad:dc:a8:7e:88:27:a9:8a:50:60:32:52:a5 Signature algorithm name: SHA256RSA Version: 3 Extensions: #1: ObjectId: 2.5.29.19 Criticality=true BasicConstraints:[ CA:true PathLen:2147483647 ] #2: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 16 B5 32 1B D4 C7 F3 E0 E6 8E F3 BD D2 B0 3A EE ..2...........:. 0010: B2 39 18 D1 .9.. ] ] #3: ObjectId: 2.16.840.1.113730.1.8 Criticality=false #4: ObjectId: 2.16.840.1.113730.1.4 Criticality=false #5: ObjectId: 2.5.29.31 Criticality=false CRLDistributionPoints [ [DistributionPoint: [URIName: https://www.cacert.org/revoke.crl] ]] #6: ObjectId: 2.5.29.35 Criticality=false AuthorityKeyIdentifier [ KeyIdentifier [ 0000: 16 B5 32 1B D4 C7 F3 E0 E6 8E F3 BD D2 B0 3A EE ..2...........:. 0010: B2 39 18 D1 .9.. ] [EMAILADDRESS=support@cacert.org, CN=CA Cert Signing Authority, OU=http://www.cacert.org, O=Root CA] SerialNumber: [ 00] ] #7: ObjectId: 2.16.840.1.113730.1.13 Criticality=false Trust this certificate? [no]: yes Certificate was added to keystore }}} ===== Krok 4: Ověřit úspěšnost importu ===== {{{ $ keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -v -list| grep -i cacert Alias name: CACERT Owner: O=Root CA,OU=http://www.cacert.org,CN=CA Cert Signing Authority,E=support@cacert.org Issuer: O=Root CA,OU=http://www.cacert.org,CN=CA Cert Signing Authority,E=support@cacert.org }}} Volitelně: Opakujte kroky 3 a 4 pro class3_x14E228.crt, použijte -alias CACERT3. Při ověření by se měly vypsat oba certifikáty. ===== Krok 5: Zavést doplněný soubor cacerts.bks zpět do telefonu ===== Pro zápis do systémového oddílu telefonu (/system) ho musíte připojit s právy čtení a zápisu (read-write). {{{ # remount /system read-write $ adb shell mount -o remount,rw /system }}} Pokud tento příkaz u Vašeho telefonu nefunguje, použijte příkaz mount ke zjištění, jak je /system připojen. Například u telefonu Samsung Galaxy S zjistíte systém souborů rfs a funguje zde syntaxe {{{ mount -o rw,remount -t rfs /dev/block/stl9 /system }}} {{{ # nahrejte nový soubor s certifikáty $ adb push cacerts.bks /system/etc/security/ 780 KB/s (53788 bytes in 0.067s) # remount /system read-only $ adb shell mount -o remount,ro /system ## Samsung Galaxy: mount -o ro,remount -t rfs /dev/block/stl9 /system }}} ===== Krok 6: Rebootovat telefon ===== Reboot zajistí, že se zavede nový seznam certifikátů. Zkuste https://www.cacert.org (výstraha by měla zmizet) ==== Způsob 3: Android Terminal Emulator ==== Předpoklady: * Na telefonu * Přístup správce (Root) + nějaký způsob, jak kopírovat soubor z paměťové SD karty do počítače ===== Krok 1: Získat potřebné soubory ===== * Stáhnout http://bouncycastle.org/download/bcprov-jdk16-141.jar a umístit do adresáře $JAVA_HOME/jre/lib/ext/ * Stáhnout http://www.cacert.org/certs/root_X0F.crt do Vašeho pracovního adresáře * Volitelně: Stáhnout http://www.cacert.org/certs/class3_x14E228.crt do Vašeho pracovního adresáře ===== Krok 2: Zavést cacerts.bks z telefonu ===== Zkopírujte soubor do svého počítače: {{{ cp /system/etc/security/cacerts.bks /sdcard/ 407 KB/s (51899 bytes in 0.124s) }}} ===== Krok 3: Importovat kořenové certifikáty CAcert do souboru cacerts.bks ===== Stejné jako u způsobu 1. ===== Krok 4: Zavést cacerts.bks do telefonu ===== Zavést doplněný soubor cacerts.bks zpět do telefonu. Proveďte příkazy uvedené dříve v Kroku 4 přímo ve svém terminálovém emulátoru Androidu. (Tak jak uvedeno výše, zjistěte, jak je oddíl /system připojen.) {{{ mount -o remount,rw /system ## nebo na Galaxy S se systémem souborů rfs: mount -o rw,remount -t rfs /dev/block/stl9 /system ## zaveďte nový soubor certifikátů: cp /sdcard/cacerts.bks /system/etc/security/ 780 KB/s (53788 bytes in 0.067s) # připojte /system opět jako read-only mount -o remount,ro /system ## nebo: mount -o ro,remount -t rfs /dev/block/stl9 /system }}} ===== Krok 5: Rebootovat telefon ===== Viz způsob 1! ==== Jak-na-to v němčině ==== * Jiný způsob je publikován v němčině: [[CAcertImportFürAndroidImport]] a * [[http://silkemeyer.net/root-zertifikate-von-cacert-in-android-importieren|silkemeyer blog]] ---- . CategoryCommunity . CategoryConfiguration . CategoryGuide . CategorySoftware . CategorySupport