Class SshKeyExchangeClient

java.lang.Object
com.sshtools.client.SshKeyExchangeClient
All Implemented Interfaces:
Component, SshComponent, SecureComponent, SshKeyExchange<SshClientContext>
Direct Known Subclasses:
Curve25519SHA256Client, DiffieHellmanEcdh, DiffieHellmanGroup, DiffieHellmanGroupExchange, Rsa1024Sha1, Rsa2048Sha256

public abstract class SshKeyExchangeClient extends Object implements SshKeyExchange<SshClientContext>
An abstract base class for all key exchange implementations.
  • Field Details

    • secret

      protected BigInteger secret
      The secret value produced during key exchange.
    • exchangeHash

      protected byte[] exchangeHash
      The exchange hash produced during key exchange.
    • hostKey

      protected byte[] hostKey
      The server's host key.
    • signature

      protected byte[] signature
      The signature generated over the exchange hash
    • clientId

      protected String clientId
    • serverId

      protected String serverId
    • clientKexInit

      protected byte[] clientKexInit
    • serverKexInit

      protected byte[] serverKexInit
    • key

      protected SshPublicKey key
    • firstPacketFollows

      protected boolean firstPacketFollows
    • useFirstPacket

      protected boolean useFirstPacket
    • e

      protected BigInteger e
    • f

      protected BigInteger f
    • transport

      protected SshTransport<SshClientContext> transport
      The transport protocol for sending/receiving messages
  • Constructor Details

    • SshKeyExchangeClient

      public SshKeyExchangeClient(String hashAlgorithm, SecurityLevel securityLevel, int priority)
      Contruct an uninitialized key exchange
  • Method Details