신뢰되지 않은 루트 인증서를
안드로이드 에뮬레이터에 설치하는 방법
How to install a untrusted root certificate
to android emulator
1. 작업 디렉토리를 만듭니다. (WORKDIR)
2. 루트 인증서(MYROOT.CER)를 WORKDIR 로 옮깁니다.
3. 첨부 파일을 WORKDIR로 다운로드 받습니다.
4. http://www.bouncycastle.org/latest_releases.html에서 Bouncy Castle Crypto API 라이브러리를 다운로드 받습니다.
예) http://www.bouncycastle.org/download/bcprov-jdk16-145.jar
5. 다운로드 받은 jar 파일을 "$JAVA_HOME\jre\lib\ext" 디렉토리로 옮깁니다.
예) C:\Program Files (x86)\Java\jdk1.6.0_18\jre\lib\ext
6. -partition-size 옵션과 함께 에뮬레이터를 실행합니다.
usage: emulator -partition-size [size] -avd [target-avd]
ex: emulator -partition-size 256 -avd my_android2.0
7. 부팅 과정을 기다립니다.
8. 명령 프롬프트에서 다음 명령들을 실행합니다.
adb pull /system/etc/security/cacerts.bks cacerts_org.bks
copy cacerts_org.bks cacerts.bks
keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file MYROOT.CER
Trust this certificate? [no]: y
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
adb push cacerts.bks /system/etc/security/cacerts.bks
hosts 파일도 수정하기 원한다면.
#-- 시작
adb pull /system/etc/hosts hosts_org
copy hosts_org hosts
#-- 끝
hosts 파일을 수정합니다.
hosts 파일도 수정하기 원한다면.
#-- 시작
adb push hosts /system/etc/hosts
#-- 끝
adb push mkfs.yaffs2.arm /data/data/temp/mkfs.yaffs2
adb shell chmod 777 /data/data/temp/mkfs.yaffs2
mkfs.yaffs2 /system /data/data/temp/system.img
adb pull /data/data/temp/system.img system.img
adb shell mount -o remount,ro -t yaffs2 /dev/block/mtdblock0 /system
9. "당신의 androidSDK 홈\platforms\target-version\images" (IMAGEHOME) 디렉토리로 이동합니다.
예) E:\dev\android-sdk-windows\platforms\android-2.0\images
10. system.img 파일을 백업합니다
ex) system.img를 system.img.org로 이름 변경합니다.
11. WORKDIR\system.img 를 IMAGEHOME 으로 이동합니다.
12. 에뮬레이터를 종료합니다.
13. 에뮬레이터를 새로 시작합니다.
14. 안드로이드 브라우저를 이용하여 당신의 사이트에 접속합니다.
15. 보안 관련 메시지가 안나타나면, 성공입니다.
1. Make a directory for working(WORKDIR).
2. Move your root certificate(MYROOT.CER) to WORKDIR.
3. Download the attached file to WORKDIR.
4. Download the Bouncy Castle Crypto API library from this site (http://www.bouncycastle.org/latest_releases.html).
ex) http://www.bouncycastle.org/download/bcprov-jdk16-145.jar
5. Move the crypto API jar to "$JAVA_HOME\jre\lib\ext" directory.
ex) C:\Program Files (x86)\Java\jdk1.6.0_18\jre\lib\ext
6. Run the emulator with -partition-size option.
usage: emulator -partition-size [size] -avd [target-avd]
ex: emulator -partition-size 256 -avd my_android2.0
7. Wait booting processing.
8. Run these commands in command prompt.
adb pull /system/etc/security/cacerts.bks cacerts_org.bks
copy cacerts_org.bks cacerts.bks
keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias CACERT -file MYROOT.CER
Trust this certificate? [no]: y
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
adb push cacerts.bks /system/etc/security/cacerts.bks
If you want to modify the hosts file.
#-- start
adb pull /system/etc/hosts hosts_org
copy hosts_org hosts
#-- end
Modify the hosts file.
If you want to modify the hosts file.
#-- start
adb push hosts /system/etc/hosts
#-- end
adb push mkfs.yaffs2.arm /data/data/temp/mkfs.yaffs2
adb shell chmod 777 /data/data/temp/mkfs.yaffs2
mkfs.yaffs2 /system /data/data/temp/system.img
adb pull /data/data/temp/system.img system.img
adb shell mount -o remount,ro -t yaffs2 /dev/block/mtdblock0 /system
9. Go to "your android SDK home\platforms\target-version\images" (IMAGEHOME).
ex) E:\dev\android-sdk-windows\platforms\android-2.0\images
10. Back up your system.img
ex) Rename system.img to system.img.org
11. Move WORKDIR\system.img to IMAGEHOME
12. Terminate the emulator.
13. Relaunch the emulator.
14. Connect your site by android browser.
15. If there are no messages related security, success.