CP 372 Winter 2009
Assignment 4 - SSL Programming (15%)

Available: Friday, March 20, 2009

Due Date: 4pm, Friday April 3, 2009

Overview

In this assignment, you are asked to design a SSL application using SSL protocol. You will be provided with necessary java files to help set up the framework. Any programming language and SSL APIs may be used. You may work individually or in pairs.

Basic Requirement

You may want to start with this tutorial. Here is another good reference to help you with the server program and the client program.

You should be able to follow the steps and set up the model. Note that the sample tutorial assumes sharing of a certificate on the same machine. If you are designing applications running on different machines, you may want to use -export and -import options of the keytool program. A list of possible commands using keytool can be found here.

The client part of the application should allow a client to connect to the server, send messages to the server. The server part of the application should display the messages on the screen.

Comparing to the client-server programs we designed in Assignment 1, your application should establish a secure connection between the two parties.

How to test

You may use any packet analyzer to intercept and display packets being transmitted between the client and the server. Sample packet analyzers are, wireshark and tcpdump(usage: sudo tcpdump -A -i lo0 -vvv -n -s 0; or sudo tcpdump -XX -i lo0 -vvv -n -s 0.) Here are the sample client.java and server.java files that are coded in assignment 1. Using a packet analyzer, you should be able to see clear text being transmitted from client to server. In comparison, messages sent through your application should not be clear text.

What to submit

Please submit the following through WebCT.

Evaluation: For this assignment, you are permitted to work individually or in pairs. If you choose to work as a pair, your work should be submitted only once, by one member of your team. The names and student IDs of both team members should appear in all of your source code and documentation files. Both members of a team will receive the same mark.

Marking Scheme

Submission deadline: 4pm, Friday April 3, 2009
Late submissions will be accepted without penalty until 4pm, Sunday April 5, 2009.

Back to main course page.


Last Modified: March 27, 2009