ssh library


If compression has been negotiated, the 'payload' field (and only it) will be compressed using the negotiated algorithm.
Hashes SSH protocol data without first serializing it.
The key exchange method specifies how one-time session keys are generated for encryption and for authentication, and how the server authentication is done.
This protocol has been designed to operate with almost any public key format, encoding, and algorithm (signature and/or encryption).
Data integrity is protected by including with each packet a MAC that is computed from a shared secret, packet sequence number, and the contents of the packet.


applyBlockCipher(BlockCipher cipher, Uint8List m) Uint8List
Transforms m by cipher provided m.length is a multiple of cipher.blockSize.
applyCipherSuiteOverrides(String kex, String key, String cipher, String mac) → void
Limits cipher suite support to the specified parameter, if not null.
buildPreferenceCsv(NameFunction name, SupportedFunction supported, int end, [int startAfter = 0]) String
Each of the algorithm name-lists MUST be a comma-separated list of algorithm names. Each supported (allowed) algorithm MUST be listed in order of preference, from most to least.
computeExchangeHash(bool server, int kexMethod, Digest algo, String verC, String verS, Uint8List kexInitC, Uint8List kexInitS, Uint8List kS, BigInt K, DiffieHellman dh, EllipticCurveDiffieHellman ecdh, X25519DiffieHellman x25519dh) Uint8List
The exchange hash is used to authenticate the key exchange and SHOULD be kept secret.
computeMAC(HMac mac, int macLen, Uint8List m, int seq, Uint8List k, int prefix) Uint8List
Signs seq | m with k using mac.
deriveChallenge(Uint8List sessionId, String userName, String serviceName, String methodName, String algoName, Uint8List secret) Uint8List
deriveKey(Digest algo, Uint8List sessionId, Uint8List exH, BigInt K, int id, int bytes) Uint8List
parseUri(String uriText) Uri
Valid URLs include,, wss://webssh.
preferenceIntersection(String intersectCsv, String supportedCsv, [bool server = false]) String
Choose the first algorithm that satisfies the conditions.
verifyHostKey(Uint8List exH, int hostkeyType, Uint8List key, Uint8List sig) bool
Verifies that key signed exH producing sig.


NameFunction = String Function(int)
SupportedFunction = bool Function(int)