#format wiki #language cs ## 20210714 AK ---- [[CAcertFürAndroid-Import/CY|cymraeg]] | '''česky''' | [[CAcertFürAndroid-Import|deutsch]] | [[CAcertFürAndroid-Import/EN|english]] | [[CAcertFürAndroid-Import/ES|español]] | [[CAcertFürAndroid-Import/FR|français]] | [[CAcertFürAndroid-Import/NL|nederlands]] | [[HowTocuments/CAcertFürAndroid-Import/PT|português]] --- [[HowToDocuments/Android/CZ|Další návody pro Android]] ---- == Import certifikátů CAcert do telefonů a tabletů Android == [[Andreas Terpotiz]] ==== Popis ==== Pomocí tohoto skriptu (batch souboru) lze importovat kořenový certifikát CAcert do mobilního zařízení. Požadované soubory budou staženy automaticky. Jsou-li potřebná hesla, budou vyžádána. Musíte-li kopírovat do telefonu svoje osobní certifikáty, uložte je do podadresáře '''Own''' (vlastní). Tento podadresář by měl být tentýž, kde je uložen soubor skriptu. Formát souboru(ů) musí být .p12 . Testováno na Windows 7 Home Professional x64<
> Skript můžete stáhnout z odkazu za koncem zdrojového kódu. {{{#!python numbers=off @ECHO OFF CLS REM ########################################################################################################################################## REM ### (c) 2013 Andreas Terpotiz ### REM ########################################################################################################################################## REM ### Funkce: Aktualizace certifikátů CA na mobilním zařízení Android. ### REM ### Předpoklad: Přístup k Internetu ### REM ### wget: http://downloads.sourceforge.net/project/gnuwin32/wget/1.11.4-1/wget-1.11.4-1-bin.zip?r=&ts=1357593613&use_mirror=netcologne ### REM ### Heslo k souboru s vlastním certifikátem a heslo Keystore mobilu je třeba zadat ručně ### REM ########################################################################################################################################## REM ###################################################################################################################### SET /P WGET_PATH="Kde je umístěn spustitelný soubor WGET.EXE? " IF NOT EXIST "%WGET_PATH%\wget.exe" CALL :ERROR_MSG "WGET.EXE nebyl nalezen." REM ###################################################################################################################### REM Download potřebných souborů ECHO Stahuji potřebné soubory... "%WGET_PATH%\wget" -qc http://stahlforce.com/dev/unzip.exe "%WGET_PATH%\wget" -qc http://dottech.org/downloads/adb_fastboot_and_other_tools.zip unzip -qq adb_fastboot_and_other_tools.zip MOVE adb_fastboot_and_other_tools adb 2>NUL 1>&2 SET PATH=%PATH%;%CD%\adb\android IF EXIST "%ProgramFiles(x86)%\java\j*" GOTO SET_JAVA IF EXIST "%ProgramFiles%\java\j*" GOTO SET_JAVA CALL :ERROR_MSG "Java není nainstalována" :SET_JAVA SET OLD_DIR="%CD%" CD "%ProgramFiles(x86)%\Java\j*" SET JAVA_HOME="%CD%" SET PATH=%PATH%;%JAVA_HOME%\bin CD "%OLD_DIR%" REM ###################################################################################################################### REM Vytvoření a zápis potřebných souborů REM Zde je třeba zadat hesla pro přístup ke KeyStore ECHO "" > cert_passwords_for_store.txt ECHO changeme >> cert_passwords_for_store.txt ECHO changeit >> cert_passwords_for_store.txt REM Zde lze vložit aliasy ke zrušení souborů CAcert po akci ECHO CACERT3 > cert_alias_to_del.txt ECHO CACERT >> cert_alias_to_del.txt ECHO cacertclass3 >> cert_alias_to_del.txt ECHO cacertclass1 >> cert_alias_to_del.txt ECHO class3 >> cert_alias_to_del.txt ECHO root >> cert_alias_to_del.txt REM Alias pro zrušení souboru vlastního certifikátu po akci ECHO sso >> cert_alias_to_del.txt ECHO andreas@terpotiz.net >> cert_alias_to_del.txt ECHO aterpotiz@terpotiz.net >> cert_alias_to_del.txt ECHO a.terpotiz@terpotiz.net >> cert_alias_to_del.txt ECHO terpotiz@buz.at >> cert_alias_to_del.txt ECHO andreas.terpotiz@live.at >> cert_alias_to_del.txt ECHO CAcert Inc. ID von Andreas Terpotiz >> cert_alias_to_del.txt ECHO CAcert Inc. ID von Andreas Terpotiz #5 >> cert_alias_to_del.txt ECHO CAcert Inc. ID von Andreas Terpotiz #4 >> cert_alias_to_del.txt ECHO CAcert Inc. ID von Andreas Terpotiz #2 >> cert_alias_to_del.txt REM Zde jsou příkazy pro zavedení certifikátu do mobilu Android ECHO su -c "mount -o rw,remount -t rfs /dev/block/stl9 /system" > android.txt ECHO sleep 5 >> android.txt ECHO su -c "cat /mnt/sdcard/cacerts.bks > /system/etc/security/cacerts.bks" >> android.txt ECHO sleep 5 >> android.txt ECHO su -c "mount -o ro,remount -t rfs /dev/block/stl9 /system" >> android.txt ECHO sleep 5 >> android.txt ECHO "reboot" >> android.txt REM ###################################################################################################################### REM Zkouška mobilu ECHO Prosím uzamkněte mobil Android. adb wait-for-device shell exit ECHO Zavedení seznamu certifikátů z mobilu adb pull /system/etc/security/cacerts.bks cacerts.bks 2>NUL 1>&2 ECHO Zkouška hesla souboru certifikátu CALL :CHECK_DL http://bouncycastle.org/download/bcprov-jdk16-141.jar "A/n" A FOR /F %%a IN (cert_passwords_for_store.txt) DO ( SET PASSWORD=%%a keytool -keystore cacerts.bks -storetype BKS -providerpath bcprov-jdk16-141.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass %PASSWORD% -v -list 2>NUL 1>&2 IF ERRORLEVEL 0 GOTO WEITER ) REM Ruční vstup hesla pro Keystore SET /P PASSWORD="Prosím, zadejte heslo Keystore: " || set PASSWORD="" keytool -keystore cacerts.bks -storetype BKS -providerpath bcprov-jdk16-141.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass %PASSWORD% -v -list 2>NUL 1>&2 IF %ERRORLEVEL% EQU 0 GOTO WEITER CALL :ERROR_MSG "Nesprávné heslo" :WEITER IF %PASSWORD%=="" (ECHO Prázdné heslo pro soubor certifikátů) ELSE ECHO Heslo: %PASSWORD% REM ###################################################################################################################### REM ################################################ REM ### Maže se certifikát s názvem ALIAS ### REM ################################################ :DEL_CERT SET /P DEL_CERT="Smazat starý certifikát?(A/n): " || SET DEL_CERT=a IF /I "%DEL_CERT%" EQU "a" ( GOTO DEL_CERT_YES ) ELSE ( GOTO DEL_CERT_NO ) GOTO DEL_CERT :DEL_CERT_YES ECHO Výmaz případně existujícího starého certifikátu FOR /F %%a IN (cert_alias_to_del.txt) DO @keytool -keystore cacerts.bks -storetype BKS -providerpath bcprov-jdk16-141.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass %PASSWORD% -alias %%a -delete 2>NUL 1>&2 :DEL_CERT_NO REM ###################################################################################################################### REM ###################################### REM ### Import certifikátu CAcert ### REM ###################################### :CACERT_IMP SET /P CACERT_IMP="Importovat certifikát CAcert?(A/n): " || SET CACERT_IMP=a IF /I "%CACERT_IMP%" EQU "a" ( GOTO CACERT_IMP_YES) ELSE ( GOTO CACERT_IMP_NO ) GOTO CACERT_IMP :CACERT_IMP_YES ECHO Importovat certifikáty CAcert "%WGET_PATH%\wget" -qc http://www.cacert.org/certs/root_X0F.crt "%WGET_PATH%\wget" -qc http://www.cacert.org/certs/class3_x14E228.crt FOR /F "tokens=*" %%a in ('dir /b /a-d *.crt') DO @keytool -keystore cacerts.bks -storetype BKS -providerpath bcprov-jdk16-141.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass %PASSWORD% -importcert -trustcacerts -alias "%%~na" -file %%a -v -noprompt :CACERT_IMP_NO REM ###################################### REM ### Import vlastních certifikátů ### REM ###################################### :CACERT_IMP SET /P CACERT_IMP="Importovat vlastní certifikáty?(a/N): " || SET CACERT_IMP=n IF /I "%CACERT_IMP%" EQU "a" ( GOTO CACERT_IMP_YES) ELSE ( GOTO CACERT_IMP_NO ) GOTO CACERT_IMP :CACERT_IMP_YES ECHO Importuji vlastní certifikáty REM Nastavení hesel pro vlastní certifikáty set /P CERTPASS="Prosím vložte heslo vlastního certifikátu: " || set /P CERTPASS=undef FOR /F "tokens=*" %%a in ('dir /b /a-d Own\*.p12') DO @keytool -importkeystore -srckeystore Own\%%a -srcstoretype pkcs12 -srcstorepass %CERTPASS% -providerpath bcprov-jdk16-141.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -destkeystore cacerts.bks -deststoretype BKS -deststorepass %PASSWORD% -noprompt :CACERT_IMP_NO REM ###################################################################################################################### ECHO Zápis seznamu certifikátů na SD kartu mobilu adb push cacerts.bks /mnt/sdcard/ 2>NUL 1>&2 ECHO Práce s mobilem skončila adb shell < android.txt GOTO ENDE REM ###################################################################################################################### REM ###################### REM ### Podprogramy ### REM ###################### :CHECK_DL SETLOCAL :START SET /P CHKDL="Download z %1 %2" || SET CHKDL=%3 IF /I "%CHKDL%" EQU "a" ( GOTO CHKDL_DL) ELSE ( GOTO CHKDL_END ) GOTO START :CHKDL_DL ECHO Stažení "%1" "%WGET_PATH%\wget" -qc "%1" IF ERRORLEVEL 1 CALL :ERROR_MSG "%1 nelze stáhnout" :CHKDL_END ENDLOCAL GOTO:EOF :ERROR_MSG CLS ECHO "%~1" ECHO Skript byl přerušen. EXIT REM ###################################################################################################################### :ENDE DEL /F /S /Q adb 2>NUL 1>&2 & RD /S /Q adb 2>NUL 1>&2 DEL adb_fastboot_and_other_tools.zip 2>NUL 1>&2 DEL unzip.exe 2>NUL 1>&2 DEL cert_passwords_for_store.txt 2>NUL 1>&2 DEL cert_alias_to_del.txt 2>NUL 1>&2 DEL android.txt 2>NUL 1>&2 DEL cacerts.bks 2>NUL 1>&2 DEL class3_x14E228.crt 2>NUL 1>&2 DEL root_X0F.crt 2>NUL 1>&2 DEL bcprov-jdk16-141.jar 2>NUL 1>&2 }}} [[attachment:CAcert_to_Android.bat]] {{{#!wiki comment/dotted Zdrojový text lze zkopírovat a uložit pomocí programu Wordpad jako "textový dokument ve formátu MS-DOS". Pak budou správně i písmena s diakritickými znaménky.<
> Soubor pro download je již ve správném formátu. }}} ---- [[Andreas Terpotiz]] ---- [[FAQ/ImportRootCert/CZ|Viz také FAQ]] ---- . CategoryCommunity . CategoryConfiguration . CategoryGuide . CategorySoftware