Core Implementation of the application
The following steps takes place at the client side during Connection establishment phase:
1) Create key store object by reading private key certificate.
2) Create key manager object using key store object which is created in the previous step.
3) Create key store object by reading public key certificate.
4) Create trust manager object using key store object created in the step3.
5) Create secure random object and call nextInt().
6) Create SSLContext object and initialize using key manager object created in step2, trust manager object created in step4 and secure random object created in step5. We are creating this object by specifying TLS protocol for getInstance method of SSlContext.
7) Create socket object using SSLContext object created in step6, and connect to server using server IP and port
8) Start TLS handshaking process
9) With the help of selected cipher suite further messages will be exchanged.
10) Close the connection. The following steps takes place at the server side during the Connection establishment phase.
Secure Chatting System application
1) Create key store object by reading private key certificate. Create key manager object using key store object which is created in the previous step.
2) Create key store object by reading public key certificate.
3) Create trust manager object using key store object created in the step3.
4) Create secure random object and call nextInt().
5) Create SSLContext object and initialize using key manager object created in step2, trust manager object created in step4 and secure random object created in step5. We are creating this object by specifying TLS protocol for getInstance method of SSlContext.
6) Created server socket object by calling createServerSocket method and server factory object, which is created using SSlContext object.
7) Call accept method on SSLServer Socket object the accept() system call will return a new socket which is used to communicate with the client and start the hand shaking process, exchange messages in a newly created thread.
8) Close the sockets.
This Project Paper is written & submitted by Deepak V.