diff options
Diffstat (limited to 'doc-src/certinstall/android.html')
-rw-r--r-- | doc-src/certinstall/android.html | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/doc-src/certinstall/android.html b/doc-src/certinstall/android.html new file mode 100644 index 00000000..73fc4d8b --- /dev/null +++ b/doc-src/certinstall/android.html @@ -0,0 +1,53 @@ +The proxy situation on Android is [an +embarrasment](http://code.google.com/p/android/issues/detail?id=1273). It's +scarcely credible, but Android didn't have a global proxy setting at all until +quite recently, and it's still not supported on many common Android versions. +In the meantime the app ecosystem has grown used to life without this basic +necessity, and many apps merrily ignore it even if it's there. This situation +is improving, but in many circumstances using [transparent +mode](@!urlTo("transparent.html")!@) is mandatory for testing Android apps. + +We used both an Asus Transformer Prime TF201 (Android 4.0.3) and a Nexus 4 +(Android 4.4.4) in the examples below - your device may differ, but the broad +process should be similar. On **emulated devices**, there are some [additional +quirks](https://github.com/mitmproxy/mitmproxy/issues/204#issuecomment-32837093) +to consider. + + +## Getting the certificate onto the device + +The easiest way to get the certificate to the device is to use [the web +app](@!urlTo("webapp.html")!@). In the rare cases where the web app doesn't +work, you will need to get the __mitmproxy-ca-cert.cer__ file into the +__/sdcard__ folder on the device (/sdcard/Download on older devices). This can +be accomplished in a number of ways: + +- If you have the Android Developer Tools installed, you can use [__adb +push__](http://developer.android.com/tools/help/adb.html). +- Using a file transfer program like wget (installed on the Android device) to +copy the file over. +- Transfer the file using external media like an SD Card. + +Once we have the certificate on the local disk, we need to import it into the +list of trusted CAs. Go to Settings -> Security -> Credential Storage, +and select "Install from storage": + +<img src="android-settingssecuritymenu.png"/> + +The certificate in /sdcard is automatically located and offered for +installation. Installing the cert will delete the download file from the local +disk. + + +## Installing the certificate + +You should now see something like this (you may have to explicitly name the +certificate): + +<img src="android-settingssecurityinstallca.png"/> + +Click OK, and you should then see the certificate listed in the Trusted +Credentials store: + +<img src="android-settingssecurityuserinstalledca.png"/> + |