404 * necessary and then block until the handshake has been
405 * established.
406 * <P>
407 * If an error occurs during the initial handshake, this method
408 * returns an invalid session object which reports an invalid
409 * cipher suite of "SSL_NULL_WITH_NULL_NULL".
410 *
411 * @return the <code>SSLSession</code>
412 */
413 public abstract SSLSession getSession();
414
415
416 /**
417 * Returns the {@code SSLSession} being constructed during a SSL/TLS
418 * handshake.
419 * <p>
420 * TLS protocols may negotiate parameters that are needed when using
421 * an instance of this class, but before the {@code SSLSession} has
422 * been completely initialized and made available via {@code getSession}.
423 * For example, the list of valid signature algorithms may restrict
424 * the type of certificates that can used during TrustManager
425 * decisions, or the maximum TLS fragment packet sizes can be
426 * resized to better support the network environment.
427 * <p>
428 * This method provides early access to the {@code SSLSession} being
429 * constructed. Depending on how far the handshake has progressed,
430 * some data may not yet be available for use. For example, if a
431 * remote server will be sending a Certificate chain, but that chain
432 * has yet not been processed, the {@code getPeerCertificates}
433 * method of {@code SSLSession} will throw a
434 * SSLPeerUnverifiedException. Once that chain has been processed,
435 * {@code getPeerCertificates} will return the proper value.
436 * <p>
437 * Unlike {@link #getSession()}, this method does not initiate the
438 * initial handshake and does not block until handshaking is
439 * complete.
440 *
441 * @see SSLEngine
442 * @see SSLSession
443 * @see ExtendedSSLSession
444 * @see X509ExtendedKeyManager
|
404 * necessary and then block until the handshake has been
405 * established.
406 * <P>
407 * If an error occurs during the initial handshake, this method
408 * returns an invalid session object which reports an invalid
409 * cipher suite of "SSL_NULL_WITH_NULL_NULL".
410 *
411 * @return the <code>SSLSession</code>
412 */
413 public abstract SSLSession getSession();
414
415
416 /**
417 * Returns the {@code SSLSession} being constructed during a SSL/TLS
418 * handshake.
419 * <p>
420 * TLS protocols may negotiate parameters that are needed when using
421 * an instance of this class, but before the {@code SSLSession} has
422 * been completely initialized and made available via {@code getSession}.
423 * For example, the list of valid signature algorithms may restrict
424 * the type of certificates that can be used during TrustManager
425 * decisions, or the maximum TLS fragment packet sizes can be
426 * resized to better support the network environment.
427 * <p>
428 * This method provides early access to the {@code SSLSession} being
429 * constructed. Depending on how far the handshake has progressed,
430 * some data may not yet be available for use. For example, if a
431 * remote server will be sending a Certificate chain, but that chain
432 * has yet not been processed, the {@code getPeerCertificates}
433 * method of {@code SSLSession} will throw a
434 * SSLPeerUnverifiedException. Once that chain has been processed,
435 * {@code getPeerCertificates} will return the proper value.
436 * <p>
437 * Unlike {@link #getSession()}, this method does not initiate the
438 * initial handshake and does not block until handshaking is
439 * complete.
440 *
441 * @see SSLEngine
442 * @see SSLSession
443 * @see ExtendedSSLSession
444 * @see X509ExtendedKeyManager
|