All Classes and Interfaces
Class
Description
This abstract class for
AuthMethod
implements common or default functionality.Base class for DHG key exchange algorithms.
Base class for direct channels whose open is initiated by the client.
Base class for forwarded channels whose open is initiated by the server.
Base class for
ForwardedChannelOpener
's.An abstract class for
Service
that implements common or default functionality.An abstract class for
Signature
that implements common functionality.Deprecated.
Named factory for AES128CBC Cipher
Deprecated.
Named factory for AES128CTR Cipher
Deprecated.
Named factory for AES192CBC Cipher
Deprecated.
Named factory for AES192CTR Cipher
Deprecated.
Named factory for AES256CBC Cipher
Deprecated.
Named factory for AES256CTR Cipher
Registers SpongyCastle as JCE provider.
Implements authentication by GSS-API.
Implements the
hostbased
SSH authentication method.Implements the
keyboard-interactive
authentication method.An authentication method of the SSH Authentication Protocol.
none
auth.The parameters available to authentication methods.
Implements the
password
authentication method.Implements the
"publickey"
SSH authentication method.Base class for all Cipher implementations delegating to the JCE provider.
Base class for Digest algorithms based on the JCE provider.
Base class for
MAC
implementations based on the JCE provider.BCrypt implements OpenBSD-style Blowfish password hashing using
the scheme described in "A Future-Adaptable Password Scheme" by
Niels Provos and David Mazieres.
All BlockCiphers supported by SSH according to the following RFCs:
https://tools.ietf.org/html/rfc4344#section-3.1
https://tools.ietf.org/html/rfc4253#section-6.3
TODO: https://tools.ietf.org/html/rfc5647
Some of the Ciphers are still implemented in net.schmizz.sshj.transport.cipher.*.
Named factory for BlockCipher
Deprecated.
Named factory for BlowfishCBC Cipher
BouncyCastle
Random
.Named factory for the BouncyCastle
Random
Utility functions for byte arrays.
Certificate wrapper for public keys, created to help implement
protocol described here:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?annotate=HEAD
Consumed primarily by net.shmizz.sshj.common.KeyType
A channel is the basic medium for application-layer data on top of an SSH transport.
Direct channels are those that are initiated by us.
Forwarded channels are those that are initiated by the server.
InputStream
for channels.OutputStream
for channels.Wrapper for a cryptographic cipher, used either for encryption or decryption.
Interface used to compress the stream of data between the SSH server and clients.
Enum identifying if this object will be used to compress or uncompress data.
Holds configuration information and factories.
Connection layer of the SSH protocol.
Connection-layer exception.
Connection
implementation.A connect listener is just that: it listens for new forwarded channels and can be delegated charge of them.
A PasswordFinder that reads a password from a console
Key Exchange Method using Curve25519 as defined in RFC 8731
Named factory for Curve25519SHA256 key exchange
Named factory for Curve25519SHA256 key exchange
Decodes packets from the SSH binary protocol per the current algorithms.
A
Config
that is initialized as follows.SSHJ Configuration that uses the default Security Provider configuration from java.security and disables Bouncy Castle registration
ZLib delayed compression.
Named factory for the ZLib Delayed Compression.
Diffie-Hellman key generator.
Named factory for DHG1 key exchange
Named factory for DHG14 key exchange
Named factory for DHGexSHA1 key exchange
Named factory for DHGexSHA256 key exchange
Simple class holding the data for DH group key exchanges.
Factory methods for Diffie Hellman KEX algorithms based on MODP groups / Oakley Groups
- https://tools.ietf.org/html/rfc4253
- https://tools.ietf.org/html/draft-ietf-curdle-ssh-modp-dh-sha2-01
Named factory for DHG1 key exchange
Interface used to compute digests, based on algorithms such as MD5 or SHA1.
A channel for creating a direct TCP/IP connection from the server to a remote address.
Disconnect error codes
Key Pair Converter from DSA Private Key Information to PEM Key Pair
Named factory for ECDHNistP key exchange
Named factory for ECDHNistP key exchange
Named factory for ECDHNistP key exchange
Key Pair Converter from ECDSA Private Key Information to PEM Key Pair
Our own extension of the EdDSAPublicKey that comes from ECC-25519, as that class does not implement equality.
Encodes packets into the SSH binary protocol per the current algorithms.
API for classes that are capable of being notified on an error so they can cleanup.
Utility functions.
An event can be set, cleared, or awaited, similar to Python's
threading.event
.Chains an exception to desired type.
Set of Block Ciphers that are (not yet) part of any of the official RFCs for SSH, but
that are either supported by other SSH implementations, or are being pushed for to be
included in a new RFC.
Set of KEX methods that are not in official RFCs but are supported by some SSH servers.
Stub kex algorithm factory that indicates support for SSH2_MSG_EXT_INFO.
A basic factory interface.
Interface for a named factory.
Utility functions
A file key provider is initialized with a location of
Takes care of handling
SSH_MSG_CHANNEL_OPEN
requests for forwarded channels of a specific type.Algorithm parameters for AES/GCM that assumes the IV uses an 8-byte counter field as its most significant bytes.
Named factory for BlockCipher
Deprecated.
Use
Macs.HMACMD5()
Named factory for the HMACMD5
MAC
Deprecated.
Use
Macs.HMACMD596()
Named factory for the HMAC-MD5-96
MAC
Deprecated.
Named factory for the HMAC-RIPEMD160
MAC
Deprecated.
Use
Macs.HMACSHA1()
Named factory for the HMAC-SHA1
MAC
Deprecated.
Named factory for the HMAC-SHA1-96
MAC
Deprecated.
Named factory for the HMAC-SHA1
MAC
Deprecated.
Named factory for the HMAC-SHA1
MAC
Host key verification interface.
A
Random
implementation using the built-in SecureRandom
PRNG.Named factory for the JCE
Random
In [RFC4252], the concept "public key algorithm" is used to establish
a relationship between one algorithm name, and:
Thrown when a key file could not be decrypted correctly, e.g.
Key exchange algorithm.
Algorithm negotiation and key exchange.
Key File Formats
Converter from typed object to PEM Key Pair
A
KeyProvider
wrapper around KeyPair
A KeyProvider is a container for a public-private keypair.
Type of key e.g.
Message Authentication Code for use in SSH.
MD5 Digest.
Named factory for MD5 digest
SSH message identifiers
Represents a no-op cipher.
Named factory for the no-op Cipher
No-op
Compression
.Named factory for the no-op
Compression
Represents an OpenSSH identity that consists of a PKCS8-encoded private key file and an unencrypted public key file
of the same name with the
".pub"
extension.Reads a key file in the new OpenSSH format.
A
HostKeyVerifier
implementation for a known_hosts
file i.e.Services requests for plaintext passwords.
Callback that can be implemented to allow an application to provide an updated password for the 'auth-password'
authentication method.
Static utility method and factories
Key File implementation supporting PEM-encoded PKCS8 and PKCS1 formats with or without password-based encryption
Key Pair Converter for Private Key Information using known Algorithm Object Identifiers
Represents promised data of the parameterized type
V
and allows waiting on it.Various modes for a psuedo-terminal.
Sample PuTTY file format
A pseudo random number generator.
Handles remote port forwarding.
Represents a particular forwarding.
A
forwarded-tcpip
channel.A password-protected resource
Key Pair Converter from RSA Private Key Information to PEM Key Pair
Command line to be sent to the remote SSH process to setup an SCP process in the correct mode.
Support for downloading files over a connected link using SCP.
Support for uploading files over a connected link using SCP.
Static utility method relating to security facilities.
Represents a service running on top of the SSH transport layer.
Command API.
Shell API.
Subsystem API.
Session
implementation.A factory interface for creating SSH
session channels
.SHA1 Digest.
Named factory for SHA1 digest
SHA256 Digest.
Named factory for SHA256 digest
Named factory for SHA384 digest
Named factory for SHA384 digest
Various signals that may be sent or received.
Signature interface for SSH used to sign or verify data.
DSA
Signature
A named factory for DSA signature
ECDSA
Signature
A named factory for ECDSA-256 signature
A named factory for ECDSA-384 signature
A named factory for ECDSA-521 signature
RSA
Signature
A named factory for RSA
Signature
A named factory for RSA
Signature
A named factory for RSA
Signature
A named factory for RSA
Signature
A random factory wrapper that uses a single random instance.
A
ConnectListener
that forwards what is received over the channel to a socket and vice-versa.Secure SHell client API.
Most exceptions in the
net.schmizz.sshj
package are instances of this class.An interface for classes to which packet handling may be delegated.
Represents unrecoverable exceptions in the
net.schmizz.sshj
package.Implementations of the Stream Ciphers that are defined in the RFCs
- https://tools.ietf.org/html/rfc4253#section-6.3
- https://tools.ietf.org/html/rfc4345
Named factory for BlockCipher
Transport layer of the SSH protocol.
Transport-layer exception
A thread-safe
Transport
implementation.Deprecated.
Named factory for TripleDESCBC Cipher
User authentication API.
User authentication exception
UserAuth
implementation.Controls how much data remote end can send before an adjustment notification from us is required.
Controls how much data we can send before an adjustment notification from remote end is required.
Handles forwarded
x11
channels.An
x11
forwarded channel.Named factory for the ZLib Compression.
BlockCiphers.AES128CBC()