996 * this method does not block until handshaking is complete.
997 * <P>
998 * Until the initial handshake has completed, this method returns
999 * a session object which reports an invalid cipher suite of
1000 * "SSL_NULL_WITH_NULL_NULL".
1001 *
1002 * @return the {@code SSLSession} for this {@code SSLEngine}
1003 * @see SSLSession
1004 */
1005 public abstract SSLSession getSession();
1006
1007
1008 /**
1009 * Returns the {@code SSLSession} being constructed during a SSL/TLS/DTLS
1010 * handshake.
1011 * <p>
1012 * TLS/DTLS protocols may negotiate parameters that are needed when using
1013 * an instance of this class, but before the {@code SSLSession} has
1014 * been completely initialized and made available via {@code getSession}.
1015 * For example, the list of valid signature algorithms may restrict
1016 * the type of certificates that can used during TrustManager
1017 * decisions, or the maximum TLS/DTLS fragment packet sizes can be
1018 * resized to better support the network environment.
1019 * <p>
1020 * This method provides early access to the {@code SSLSession} being
1021 * constructed. Depending on how far the handshake has progressed,
1022 * some data may not yet be available for use. For example, if a
1023 * remote server will be sending a Certificate chain, but that chain
1024 * has yet not been processed, the {@code getPeerCertificates}
1025 * method of {@code SSLSession} will throw a
1026 * SSLPeerUnverifiedException. Once that chain has been processed,
1027 * {@code getPeerCertificates} will return the proper value.
1028 *
1029 * @see SSLSocket
1030 * @see SSLSession
1031 * @see ExtendedSSLSession
1032 * @see X509ExtendedKeyManager
1033 * @see X509ExtendedTrustManager
1034 *
1035 * @return null if this instance is not currently handshaking, or
1036 * if the current handshake has not progressed far enough to
|
996 * this method does not block until handshaking is complete.
997 * <P>
998 * Until the initial handshake has completed, this method returns
999 * a session object which reports an invalid cipher suite of
1000 * "SSL_NULL_WITH_NULL_NULL".
1001 *
1002 * @return the {@code SSLSession} for this {@code SSLEngine}
1003 * @see SSLSession
1004 */
1005 public abstract SSLSession getSession();
1006
1007
1008 /**
1009 * Returns the {@code SSLSession} being constructed during a SSL/TLS/DTLS
1010 * handshake.
1011 * <p>
1012 * TLS/DTLS protocols may negotiate parameters that are needed when using
1013 * an instance of this class, but before the {@code SSLSession} has
1014 * been completely initialized and made available via {@code getSession}.
1015 * For example, the list of valid signature algorithms may restrict
1016 * the type of certificates that can be used during TrustManager
1017 * decisions, or the maximum TLS/DTLS fragment packet sizes can be
1018 * resized to better support the network environment.
1019 * <p>
1020 * This method provides early access to the {@code SSLSession} being
1021 * constructed. Depending on how far the handshake has progressed,
1022 * some data may not yet be available for use. For example, if a
1023 * remote server will be sending a Certificate chain, but that chain
1024 * has yet not been processed, the {@code getPeerCertificates}
1025 * method of {@code SSLSession} will throw a
1026 * SSLPeerUnverifiedException. Once that chain has been processed,
1027 * {@code getPeerCertificates} will return the proper value.
1028 *
1029 * @see SSLSocket
1030 * @see SSLSession
1031 * @see ExtendedSSLSession
1032 * @see X509ExtendedKeyManager
1033 * @see X509ExtendedTrustManager
1034 *
1035 * @return null if this instance is not currently handshaking, or
1036 * if the current handshake has not progressed far enough to
|