Two security related Java questions to entertain your brain.
1.
A GuardedObject is an object that is used to protect access to another object. A GuardedObject encapsulates a target object and a Guard object, such that access to the target object is possible only if the Guard object allows it. Once an object is encapsulated by a GuardedObject, access to that object is controlled by the getObject method, which invokes the checkGuard method on the Guard object that is guarding access. If access is not allowed, an exception is thrown.
Now, write a Java program that illustrates the usage of GuardedObject.
2.
SignedObject is a class for the purpose of creating authentic runtime objects whose integrity cannot be compromised without being detected. More specifically, a SignedObject contains another Serializable object, the (to-be-)signed object and its signature.
Again, write a Java program that illustrates the usage of SignedObject.
NOTE:
What to handin: