Interface SessionContext

    • Method Detail

      • getSessionId

        byte[] getSessionId()
        Returns:
        A clone of the established session identifier - null if not yet established
      • isServerSession

        boolean isServerSession()
        Quick indication if this is a server or client session (instead of having to ask instanceof).
        Returns:
        true if this is a server session
      • getClientVersion

        String getClientVersion()
        Retrieve the client version for this session.
        Returns:
        the client version - may be null/empty if versions not yet exchanged
      • getClientKexProposals

        Map<KexProposalOption,​String> getClientKexProposals()
        Returns:
        An un-modifiable map of the latest KEX client proposal options May be empty if KEX not yet completed or re-keying in progress
        See Also:
        getKexState()
      • getServerVersion

        String getServerVersion()
        Retrieve the server version for this session.
        Returns:
        the server version - may be null/empty if versions not yet exchanged
      • getServerKexProposals

        Map<KexProposalOption,​String> getServerKexProposals()
        Returns:
        An un-modifiable map of the latest KEX client proposal options. May be empty if KEX not yet completed or re-keying in progress
        See Also:
        getKexState()
      • getNegotiatedKexParameter

        String getNegotiatedKexParameter​(KexProposalOption paramType)
        Retrieve one of the negotiated values during the KEX stage
        Parameters:
        paramType - The request KexProposalOption value - ignored if null
        Returns:
        The negotiated parameter value - null if invalid parameter or no negotiated value.
        See Also:
        getKexState()
      • getCipherInformation

        CipherInformation getCipherInformation​(boolean incoming)
        Retrieves current cipher information - Note: may change if key re-exchange executed
        Parameters:
        incoming - If true then the cipher for the incoming data, otherwise for the outgoing data
        Returns:
        The CipherInformation - or null if not negotiated yet.
      • getCompressionInformation

        CompressionInformation getCompressionInformation​(boolean incoming)
        Retrieves current compression information - Note: may change if key re-exchange executed
        Parameters:
        incoming - If true then the compression for the incoming data, otherwise for the outgoing data
        Returns:
        The CompressionInformation - or null if not negotiated yet.
      • getMacInformation

        MacInformation getMacInformation​(boolean incoming)
        Retrieves current MAC information - Note: may change if key re-exchange executed
        Parameters:
        incoming - If true then the MAC for the incoming data, otherwise for the outgoing data
        Returns:
        The MacInformation - or null if not negotiated yet.
      • isAuthenticated

        boolean isAuthenticated()
        Returns:
        true if session has successfully completed the authentication phase
      • isValidVersionPrefix

        static boolean isValidVersionPrefix​(String version)
        Parameters:
        version - The reported client/server version
        Returns:
        true if version not empty and starts with either "SSH-2.0-" or "SSH-1.99-"