com.sshtools.j2ssh.transport
Class TransportProtocolClient
java.lang.Object
com.sshtools.j2ssh.transport.TransportProtocolCommon
com.sshtools.j2ssh.transport.TransportProtocolClient
- All Implemented Interfaces:
- TransportProtocol, java.lang.Runnable
public class TransportProtocolClient
- extends TransportProtocolCommon
- Version:
- $Revision: 1.1 $
- Author:
- $author$
Fields inherited from class com.sshtools.j2ssh.transport.TransportProtocolCommon |
algorithmsIn, algorithmsOut, clientIdent, clientKexInit, completeOnNewKeys, EOL_CRLF, EOL_LF, hostKey, k, kexs, log, messageStore, properties, PROTOCOL_VERSION, provider, serverIdent, serverKexInit, sessionIdentifier, signature, SOFTWARE_VERSION_COMMENTS, sshIn, sshOut, state |
Methods inherited from class com.sshtools.j2ssh.transport.TransportProtocolCommon |
addEventHandler, addMessageStore, beginKeyExchange, completeKeyExchange, createLocalKexInit, determineAlgorithm, disconnect, getConnectionId, getEventHandlers, getIncomingByteCount, getKexAlgorithm, getOutgoingByteCount, getProperties, getRemoteEOL, getSessionIdentifier, getState, getUnderlyingProviderDetail, isConnected, onCorruptMac, processMessages, readMessage, removeMessageStore, run, sendDisconnect, sendDisconnect, sendKeyExchangeInit, sendMessage, sendNewKeys, setKexTimeout, setKexTransferLimit, setSendIgnore, startBinaryPacketProtocol, startTransportProtocol, stop, unregisterMessage |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
pk
protected SshPublicKey pk
hosts
private HostKeyVerification hosts
services
private java.util.Map services
ms
private SshMessageStore ms
TransportProtocolClient
public TransportProtocolClient(HostKeyVerification hosts)
throws TransportProtocolException
- Creates a new TransportProtocolClient object.
- Parameters:
hosts
-
- Throws:
TransportProtocolException
onMessageReceived
public void onMessageReceived(SshMessage msg)
throws java.io.IOException
- Specified by:
onMessageReceived
in class TransportProtocolCommon
- Parameters:
msg
-
- Throws:
java.io.IOException
registerTransportMessages
public void registerTransportMessages()
throws MessageAlreadyRegisteredException
- Specified by:
registerTransportMessages
in class TransportProtocolCommon
- Throws:
MessageAlreadyRegisteredException
requestService
public void requestService(Service service)
throws java.io.IOException
- Parameters:
service
-
- Throws:
java.io.IOException
SshException
onDisconnect
protected void onDisconnect()
- Specified by:
onDisconnect
in class TransportProtocolCommon
getDecryptionAlgorithm
protected java.lang.String getDecryptionAlgorithm()
throws AlgorithmNotAgreedException
- Specified by:
getDecryptionAlgorithm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
getEncryptionAlgorithm
protected java.lang.String getEncryptionAlgorithm()
throws AlgorithmNotAgreedException
- Specified by:
getEncryptionAlgorithm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
getInputStreamCompAlgortihm
protected java.lang.String getInputStreamCompAlgortihm()
throws AlgorithmNotAgreedException
- Specified by:
getInputStreamCompAlgortihm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
getInputStreamMacAlgorithm
protected java.lang.String getInputStreamMacAlgorithm()
throws AlgorithmNotAgreedException
- Specified by:
getInputStreamMacAlgorithm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
setLocalIdent
protected void setLocalIdent()
- Specified by:
setLocalIdent
in class TransportProtocolCommon
getLocalId
public java.lang.String getLocalId()
- Specified by:
getLocalId
in class TransportProtocolCommon
- Returns:
setLocalKexInit
protected void setLocalKexInit(SshMsgKexInit msg)
- Specified by:
setLocalKexInit
in class TransportProtocolCommon
- Parameters:
msg
-
getLocalKexInit
protected SshMsgKexInit getLocalKexInit()
- Specified by:
getLocalKexInit
in class TransportProtocolCommon
- Returns:
getOutputStreamCompAlgorithm
protected java.lang.String getOutputStreamCompAlgorithm()
throws AlgorithmNotAgreedException
- Specified by:
getOutputStreamCompAlgorithm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
getOutputStreamMacAlgorithm
protected java.lang.String getOutputStreamMacAlgorithm()
throws AlgorithmNotAgreedException
- Specified by:
getOutputStreamMacAlgorithm
in class TransportProtocolCommon
- Returns:
-
- Throws:
AlgorithmNotAgreedException
setRemoteIdent
protected void setRemoteIdent(java.lang.String ident)
- Specified by:
setRemoteIdent
in class TransportProtocolCommon
- Parameters:
ident
-
getRemoteId
public java.lang.String getRemoteId()
- Specified by:
getRemoteId
in class TransportProtocolCommon
- Returns:
setRemoteKexInit
protected void setRemoteKexInit(SshMsgKexInit msg)
- Specified by:
setRemoteKexInit
in class TransportProtocolCommon
- Parameters:
msg
-
getRemoteKexInit
protected SshMsgKexInit getRemoteKexInit()
- Specified by:
getRemoteKexInit
in class TransportProtocolCommon
- Returns:
getServerHostKey
public SshPublicKey getServerHostKey()
- Returns:
onStartTransportProtocol
protected void onStartTransportProtocol()
throws java.io.IOException
- Specified by:
onStartTransportProtocol
in class TransportProtocolCommon
- Throws:
java.io.IOException
TransportProtocolException
performKeyExchange
protected void performKeyExchange(SshKeyExchange kex)
throws java.io.IOException
- Specified by:
performKeyExchange
in class TransportProtocolCommon
- Parameters:
kex
-
- Throws:
java.io.IOException
KeyExchangeException
setupNewKeys
protected void setupNewKeys(byte[] encryptCSKey,
byte[] encryptCSIV,
byte[] encryptSCKey,
byte[] encryptSCIV,
byte[] macCSKey,
byte[] macSCKey)
throws AlgorithmNotAgreedException,
AlgorithmOperationException,
AlgorithmNotSupportedException,
AlgorithmInitializationException
- Specified by:
setupNewKeys
in class TransportProtocolCommon
- Parameters:
encryptCSKey
- encryptCSIV
- encryptSCKey
- encryptSCIV
- macCSKey
- macSCKey
-
- Throws:
AlgorithmNotAgreedException
AlgorithmOperationException
AlgorithmNotSupportedException
AlgorithmInitializationException
verifyHostKey
protected boolean verifyHostKey(byte[] key,
byte[] sig,
byte[] sigdata)
throws TransportProtocolException
- Parameters:
key
- sig
- sigdata
-
- Returns:
-
- Throws:
TransportProtocolException