KeyManager Interface
The primary responsibility of the KeyManager is
to select the authentication credentials that will eventually be sent
to the remote host. To authenticate yourself (a local secure socket
peer) to a remote peer, you need to initialize an SSLContext object
with one or more KeyManagers. You need to pass one KeyManager for
each different authentication mechanism that will be supported. If
null is passed into the SSLContext initialization,
a default KeyManager will
be created. If the internal default context is used (e.g. a SSLContext created
by SSLSocketFactory.getDefault() or SSLServerSocketFactory.getDefault()),
a default KeyManager is
created. Typically, there is a single key manager that supports authentication
based on X.509 public key certificates. Some secure
socket implementations may also support authentication based on shared
secret keys, Kerberos, or other mechanisms.
KeyManagers are created either by a KeyManagerFactory,
or by providing a concrete implementation of the interface.