Table of Contents

09 - Android Security (2)

Lecture

Practical

Task 1 - Fetch web page through HTTP (3p)

Create an application that downloads a web page through HTTP. The activity includes an EditText, a Button and a TextView. The user introduces an URL and clicks on the button to obtain the contents of the web page.

Steps:

Resources:

Task 2 - Fetch web page through HTTPS (1p)

Modify the previous application in order to obtain web pages through HTTPS. Use HttpsURLConnection.

Resources:

Task 3 - Display system trust store (3p)

The Android system includes a system (default) trust store, which includes a list of trusted Certificate Authorities (CAs).

Modify the previous application in order to display the system trust store using TrustManager.

Steps:

Resources:

Task 4 - Use a custom trust store (3p)

The previous application will not be able to fetch web pages on a server with a certificate that is issued by an unknown CA. For example: https://certs.cac.washington.edu/CAtest/, which uses certificate issued by UW Services Certificate Authority (which is not trusted by Android by default). Extend the application in order to be able to access this URL, by loading and using a custom trust store.

The steps for this task are almost similar to the ones for Task 2.

Steps:

Resources: