All communications between client and group server are now over a secure session. Still need to add password aspect but that should be straightforward. SecureEnvelope added for the secure channel aspect.
Connecting and securing channel with file server works. Uploading is broken, but probably an easy fix. Added certs to git.
Fixed file uploading/downloading that I broken when securing the session. Also fixed the Windows delete file problem. It turns out that closing FileInputStreams might have caused it.
Added the signature aspect to the Token. Group server now adds a signature to the token, and file server now verifies the signature of the token. Group server DOES NOT yet verify the signature.
Group server now checks tokens for all actions other than connecting and getting a token. For obvious reasons, those do not need to be verified. The issues where deleting a user from groups twices ruins everything still exists.
Changed group and user lists to use no lists. Modified group server and file server to work with this change. Also rewrote createUser, deleteUser, createGroup, deleteGroup, addUserToGroup, removeUserFromGroup. Everything works now and this fixed the bugs related to users and groups. Also changed some functionality...creating a group also automatically makes you a member, since you should be able to work with files in that group. You can also later remove yourself as a member but stay owner. Handling multiple owners works correctly too, although you cannot currently add additional owners.
Adding owner to group started for extra credit. Does not work right yet, maybe to finish later.
Added cert generate usage.
Added hashed and salted passwords to the group server. Also did some
cleanup to the gitignore.