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.Wraps
Base64.Decoder in order to wrap unchecked IllegalArgumentException thrown by
the default Java Base64 decoder here and there.A checked wrapper for all
IllegalArgumentException, thrown by Base64.Decoder.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
RandomBouncyCastle
Random.Named factory for the BouncyCastle
RandomUtility 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
Named factory for ECDHNistP key exchange
Named factory for ECDHNistP key exchange
Named factory for ECDHNistP key exchange
Enumeration of supported ECDSA Curves with corresponding algorithm parameter names
Factory for generating Elliptic Curve Keys using Java Security components for NIST Curves
Factory for generating Edwards-curve 25519 Public and Private Keys
Encodes packets into the SSH binary protocol per the current algorithms.
PEM Key Reader implementation supporting historical password-based encryption from OpenSSL EVP_BytesToKey
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
MACDeprecated.
Use
Macs.HMACMD596()Named factory for the HMAC-MD5-96
MACDeprecated.
Named factory for the HMAC-RIPEMD160
MACDeprecated.
Use
Macs.HMACSHA1()Named factory for the HMAC-SHA1
MACDeprecated.
Named factory for the HMAC-SHA1-96
MACDeprecated.
Named factory for the HMAC-SHA1
MACDeprecated.
Named factory for the HMAC-SHA1
MACHost key verification interface.
A
Random implementation using the built-in SecureRandom PRNG.Named factory for the JCE
RandomIn [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
A
KeyProvider wrapper around KeyPairA 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
CompressionRepresents 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
PEM Key container with identified Key Type and decoded body
Abstraction for parsing and returning PEM Keys
Key File implementation supporting PEM-encoded PKCS8 and PKCS1 formats with or without password-based encryption
Represents promised data of the parameterized type
V and allows waiting on it.Various modes for a psuedo-terminal.
Sample PuTTY file format
Abstraction for deriving the Secret Key for decrypting PuTTY Key Files
A pseudo random number generator.
Handles remote port forwarding.
Represents a particular forwarding.
A
forwarded-tcpip channel.A password-protected resource
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
SignatureA named factory for DSA signature
ECDSA
SignatureA named factory for ECDSA-256 signature
A named factory for ECDSA-384 signature
A named factory for ECDSA-521 signature
RSA
SignatureA named factory for RSA
SignatureA named factory for RSA
SignatureA named factory for RSA
SignatureA named factory for RSA
SignatureA 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.Standard implementation of PEM Key Reader supporting Base64 decoding without decryption
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.PuTTY Key Derivation Function supporting Version 1 and 2 Key files with historical SHA-1 key derivation
PuTTY Key Derivation Function supporting Version 3 Key files with Argon2 Key Derivation using Bouncy Castle
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()