You are on page 1of 13

SIL-765 Assignment -2

Web Server to distribute


Digitally Signed Grade-
card
BY:- AASHISH NAGPAL (2012CS50271)
RAJAT THAKUR (2012CS50295)
Goals & Requirements

Goal:- Building a web server that responds with a degree-certificate


and grade-card whenever someone requests for it.

Requirements:-
The request must contain the graduates unique entry-number or something
for the user to be identified by.
The degree-certificate and grade-card (possibly in PDF format) are suitably
digitally signed by the university authorities.
Issues Addressed

Getting the document signed by more than one individual.

Ensuring that only a graduate is able to download it.

In case the graduate decide to share the document with others, how
can one trace the origin of the document?

Access to public-key certificate issued by a certification authority


Design

We built a web server in java which fulfills all the requirements and
address all the issues listed above. Features of our web servers are:-

Users are divided into 3 categories:-


Admin (admin)
Authority (Aashish, Rajat)
Student (Student_1 , Student_2)

Each user access the web server by login into his/her account.
Design

Different users have different capabilities when they access the web-
server.
Admin can send the grade sheets to different authorities for digital signature.
Authorities digitally sign the grade sheets sent to them by admin.
Student can then download the digitally signed grade sheet.

Digital Signatures are marked as visible.

Admin creates blank signature fields in the document to be filled by


multiple authorities.
Implementation

We used Apache Tomcat 7.0 to create a server and java as the backend
for the server.

Website is divided into following pages:-


Login page
Send Document to Sign
Sign a Document
Download Document
Implementation

Database for the users was created in mysql which has the following
structure:-
Implementation

Key pairs were generated for each of the authorities using the following command:-
Keytool genkeypair alias myRSAKey keyAlg RSa keystore test.p12 storepass test
storetype pkcs12

Some of the features of the keys:-


Generated using RSA.
Keystore(manages private/public keys) Type is PKCS12.

Pubic key Certificate to be used for verification of signature was generated using :-
Keytool export keystore test.p12 alias myRsAKey file Certificate.cer
Implementation

This certificate can be used by Student to verify the digital signature of


the authority.

Following Libraries for different purpose:-


PDFOne :- For editing PDFs
Mysql-connector-java:- For jdbc connections

Watermarks can also be added to the document to identify the origin of


the document in case it is shared by multiple students.
Login
Send Document To Sign
Document To Sign
Sign Document