Package javax.net.ssl

Interface SSLSession

All Known Implementing Classes:
OpenSSLSessionImpl, SSLSessionImpl

public interface SSLSession
The interface representing an SSL session.
  • Method Summary

    Modifier and Type Method Description
    int getApplicationBufferSize()
    Returns the maximum size that an application buffer can be for this session.
    String getCipherSuite()
    Returns the name of the cipher suite used in this session.
    long getCreationTime()
    Returns the time this session was created, in milliseconds since midnight January 1st 1970 UTC.
    byte[] getId()
    Returns this sessions identifier.
    long getLastAccessedTime()
    Returns the time this session was last accessed, in milliseconds since midnight January 1st 1970 UTC.
    Certificate[] getLocalCertificates()
    Returns the list of certificates that were used to identify the local side to the peer during the handshake.
    Principal getLocalPrincipal()
    Returns the principal used to identify the local side to the peer during the handshake.
    int getPacketBufferSize()
    Returns the maximum size that a network buffer can be for this session.
    X509Certificate[] getPeerCertificateChain()
    Returns the list of certificates the peer used to identify itself during the handshake.
    Certificate[] getPeerCertificates()
    Returns the list of certificates the peer used to identify itself during the handshake.
    String getPeerHost()
    Returns the host name of the peer of this session.
    int getPeerPort()
    Returns the port number of the peer of this session.
    Principal getPeerPrincipal()
    Returns the principal identifying the peer during the handshake.
    String getProtocol()
    Returns the protocol name that is used for all connections in this session.
    SSLSessionContext getSessionContext()
    Returns the context of this session, or null if no context is available.
    Object getValue​(String name)
    Returns the object bound to the specified name in this session's application layer data.
    String[] getValueNames()
    Returns the list of the object names bound to this session's application layer data..
    void invalidate()
    Invalidates this session.
    boolean isValid()
    Returns whether this session is valid.
    void putValue​(String name, Object value)
    Binds the specified object under the specified name in this session's application layer data.
    void removeValue​(String name)
    Removes the binding for the specified name in this session's application layer data.
  • Method Details

    • getApplicationBufferSize

      int getApplicationBufferSize()
      Returns the maximum size that an application buffer can be for this session.
      Returns:
      the maximum application buffer size.
    • getCipherSuite

      String getCipherSuite()
      Returns the name of the cipher suite used in this session.
      Returns:
      the name of the cipher suite used in this session.
    • getCreationTime

      long getCreationTime()
      Returns the time this session was created, in milliseconds since midnight January 1st 1970 UTC.
      Returns:
      the time the session was created.
    • getId

      byte[] getId()
      Returns this sessions identifier.
      Returns:
      this sessions identifier.
    • getLastAccessedTime

      long getLastAccessedTime()
      Returns the time this session was last accessed, in milliseconds since midnight January 1st 1970 UTC.
      Returns:
      the time this session was last accessed.
    • getLocalCertificates

      Certificate[] getLocalCertificates()
      Returns the list of certificates that were used to identify the local side to the peer during the handshake.
      Returns:
      the list of certificates, ordered from local certificate to CA's certificates.
    • getLocalPrincipal

      Principal getLocalPrincipal()
      Returns the principal used to identify the local side to the peer during the handshake.
      Returns:
      the principal used to identify the local side.
    • getPacketBufferSize

      int getPacketBufferSize()
      Returns the maximum size that a network buffer can be for this session.
      Returns:
      the maximum network buffer size.
    • getPeerCertificateChain

      X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException
      Returns the list of certificates the peer used to identify itself during the handshake.

      Note: this method exists for compatility reasons, use getPeerCertificates() instead.

      Returns:
      the list of certificates, ordered from the identity certificate to the CA's certificates
      Throws:
      SSLPeerUnverifiedException - if the identity of the peer is not verified.
    • getPeerCertificates

      Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException
      Returns the list of certificates the peer used to identify itself during the handshake.
      Returns:
      the list of certificates, ordered from the identity certificate to the CA's certificates.
      Throws:
      SSLPeerUnverifiedException - if the identity of the peer is not verified.
    • getPeerHost

      String getPeerHost()
      Returns the host name of the peer of this session. The host name is not authenticated.
      Returns:
      the host name of the peer of this session, or null if no host name is available.
    • getPeerPort

      int getPeerPort()
      Returns the port number of the peer of this session. The port number is not authenticated.
      Returns:
      the port number of the peer, of -1 is no port number is available.
    • getPeerPrincipal

      Principal getPeerPrincipal() throws SSLPeerUnverifiedException
      Returns the principal identifying the peer during the handshake.
      Returns:
      the principal identifying the peer.
      Throws:
      SSLPeerUnverifiedException - if the identity of the peer has not been verified.
    • getProtocol

      String getProtocol()
      Returns the protocol name that is used for all connections in this session.
      Returns:
      the protocol name that is used for all connections in this session.
    • getSessionContext

      SSLSessionContext getSessionContext()
      Returns the context of this session, or null if no context is available.
    • getValue

      Object getValue​(String name)
      Returns the object bound to the specified name in this session's application layer data.
      Parameters:
      name - the name of the bound value.
      Returns:
      the value bound to the specified name, or null if the specified name does not exist or is not accessible in the current access control context.
      Throws:
      IllegalArgumentException - if name is null.
    • getValueNames

      String[] getValueNames()
      Returns the list of the object names bound to this session's application layer data..

      Depending on the current access control context, the list of object names may be different.

      Returns:
      the list of the object names bound to this session's application layer data.
    • invalidate

      void invalidate()
      Invalidates this session.

      No new connections can be created, but any existing connection remains valid until it is closed.

    • isValid

      boolean isValid()
      Returns whether this session is valid.
      Returns:
      true if this session is valid, otherwise false.
    • putValue

      void putValue​(String name, Object value)
      Binds the specified object under the specified name in this session's application layer data.

      For bindings (new or existing) implementing the SSLSessionBindingListener interface the object will be notified.

      Parameters:
      name - the name to bind the object to.
      value - the object to bind.
      Throws:
      IllegalArgumentException - if either name or value is null.
    • removeValue

      void removeValue​(String name)
      Removes the binding for the specified name in this session's application layer data. If the existing binding implements the SSLSessionBindingListener interface the object will be notified.
      Parameters:
      name - the binding to remove.
      Throws:
      IllegalArgumentException - if name is null.