As we already discussed, the whiteboard uses JSSE,
and JSSE implements the SSL and TLS protocols. These protocols use
public-key encryption to ensure the privacy of messages sent over
the Internet. In a public-key encryption
system, both clients and server must have a pair of keys, one public and
one private. Before our whiteboard can even begin to mediate messages
between users, we must generate these keys.
Once the keys have been generated, we'll provide the client side a file
containing its public and private keys. It will also have a copy of
the server's public key certificate. Keys are stored in a specially
formatted file called a keystore.
The following table describes the keystore files we'll be using.
Keystore file | What it contains | Where it goes |
---|
client.private | The client's public/private key pair | Client side |
server.public | The server's public key certificate | Client side |
server.private | The server's public/private key pair | Server side |
client.public | The client public key certificate | Server side |