Under the Hood
Now that you know how to use SafeTalk
, I’ll
explain how it works, starting with an overview of
SafeTalk
’s architecture. After that,
I’ll walk you through the code for each class.
Architecture
The SafeTalk
application has five major components. The Session
class is the center of this universe; it manages the connection with
a remote SafeTalk
application. The other four
classes orbit around Session
, each with a specific
job:
SessionServer
listens for incoming socket connections and notifiesSession
if a connection is received. It exists primarily to isolate the action of listening for connections into a thread that’s separate from the main application thread.Receiver
is used while a conversation is in progress. It lives in its own thread, listening for incoming data and notifying theSession
.Session
, in turn, notifiesSafeTalk
, and the incoming data is shown in the lower text area of theSafeTalk
window.The
SafeTalk
class itself is the GUI. It’s a subclass ofFrame
.KeyManager
manages the user’s key pair as well as the public keys of recipients.Session
usesKeyManager
when it exchanges a session key at the beginning of a conversation.SafeTalk
usesKeyManager
to import and export keys. This class is presented in Chapter 5.
Figure 10.2 shows the relationships of the
SafeTalk
classes.
Session
The Session
class manages the niggly ...
Get Java Cryptography now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.