The general-purpose classes you must create include the following.
GateKeeper - a custom 
          java.lang.SecurityManager that only allows 
          access to files during particular hours.
          (Specification)
          KeyMaster - a utility class that contains
          methods for reading and
          writing javax.crypto.SecretKey objects to a
          file (using serialization).
          (Specification)
          SealedGrades - a specialization of 
          javax.crypto.SealedObject that can be used to
          encrypt/decrypt an ArrayList of Grade
          objects.
          (Specification)
          
  The application (i.e., the class with a main()
  method) you must modify is the following.
  
GradeWriter - an application that accepts a 
          a String representation of an ArrayList
          of Grade as a command-line argument and
          writes it to a file (named eid.grades).
          (Specification)
          
  The applications (i.e., the classes with a main() method) you
  must create include the following.
  
KeyWriter - an application that creates a
          SecretKey object (e.g., using DES) and writes
          it to a file (named secret.key).
          (Specification)
          GradeEncrypter -  an application that reads a 
          String representation of an ArrayList
          of Grade objects from a file, creates a 
          SealedGrades object, and writes it to a file
          (named eid.sealed).
          (Specification)
          GradeDecrypter - an application that reads a 
          SealedGrades object from a file
          (named eid.sealed) and prints the
          individual Grade objects.
          (Specification)
          You may modify any of these classes if necessary.
GateKeeper.GradeWriter (that uses a
          GateKeeper and will require you to create
          an appropriate policy file).KeyMaster.KeyWriter (which will use KeyMaster).SealedGrade.GradeEncrypter (which will use KeyMaster
          and a file created with KeyWriter).GradeDecrypter (which will use KeyMaster
          and a file created with KeyWriter).KeyWriter to create an encryption key.GradeWriter (during the appropriate hours) to
          save a student's grades.GradeReader to view a student's grades.GradeEncrypter to "seal" a student's grades
          so that they can be transported.GradeDecrypter to see "sealed" grades..java files and your policy
  file using Canvas in a single file named gradebusters.zip.
  Copyright 2016