Initiates handshaking (initial or renegotiation) on this SSLEngine.
<P>
This method is not needed for the initial handshake, as the
<code>wrap()</code> and <code>unwrap()</code> methods will
implicitly call this method if handshaking has not already begun.
<P>
Note that the peer may also request a session renegotiation with
this <code>SSLEngine</code> by sending the appropriate
session renegotiate handshake message.
<P>
Unlike the {@link SSLSocket#startHandshake()
SSLSocket#startHandshake()} method, this method does not block
until handshaking is completed.
<P>
To force a complete SSL/TLS session renegotiation, the current
session should be invalidated prior to calling this method.
<P>
Some protocols may not support multiple handshakes on an existing
engine and may throw an <code>SSLException</code>.
@throws SSLException
if a problem was encountered while signaling the
<code>SSLEngine</code> to begin a new handshake.
See the class description for more information on
engine closure.
@throws IllegalStateException if the client/server mode
has not yet been set.
@see SSLSession#invalidate()
Initiates handshaking (initial or renegotiation) on this SSLEngine. <P> This method is not needed for the initial handshake, as the <code>wrap()</code> and <code>unwrap()</code> methods will implicitly call this method if handshaking has not already begun. <P> Note that the peer may also request a session renegotiation with this <code>SSLEngine</code> by sending the appropriate session renegotiate handshake message. <P> Unlike the {@link SSLSocket#startHandshake() SSLSocket#startHandshake()} method, this method does not block until handshaking is completed. <P> To force a complete SSL/TLS session renegotiation, the current session should be invalidated prior to calling this method. <P> Some protocols may not support multiple handshakes on an existing engine and may throw an <code>SSLException</code>.
@throws SSLException if a problem was encountered while signaling the <code>SSLEngine</code> to begin a new handshake. See the class description for more information on engine closure. @throws IllegalStateException if the client/server mode has not yet been set. @see SSLSession#invalidate()