This project implements a secure file transfer system in Java using Transport Layer Security (TLS). The system consists of a server and a client that enable secure file transfer between them.
This project serves as an introduction to network application programming in Java with a focus on security and was done in a COMPX204 paper. It covers the following key components:
- Implementing the TLS handshake for secure communication.
- Secure file transfer between the server and client.
- Secure TLS communication between the server and client.
- Client-server architecture for file transfer.
- Server authentication with certificates.
- File request and transfer functionalities.
Before running the project, ensure you have the following installed:
- Java Development Kit (JDK)
- OpenSSL (for certificate generation)
-
Clone this repository:
-
Compile and run the server:
- javac MyTLSFileServer.java
- java MyTLSFileServer
- Compile and run the Client:
- javac MyTLSFileClient.java
- java MyTLSFileClient
