pubdev/dartssh/ssh
library
Classes
-
Cipher
-
-
Compression
-
If compression has been negotiated, the 'payload' field (and only it)
will be compressed using the negotiated algorithm.
-
Digester
-
Hashes SSH protocol data without first serializing it.
-
KEX
-
The key exchange method specifies how one-time session keys are generated for
encryption and for authentication, and how the server authentication is done.
-
Key
-
This protocol has been designed to operate with almost any public key
format, encoding, and algorithm (signature and/or encryption).
-
MAC
-
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.
Functions
-
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.
https://tools.ietf.org/html/rfc4253#section-7.1
-
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?
-
https://tools.ietf.org/html/rfc4252#section-7
-
deriveKey(Digest? algo, Uint8List? sessionId, Uint8List? exH, BigInt? K, int? id, int? bytes)
→ Uint8List?
-
https://tools.ietf.org/html/rfc4253#section-7.2
-
parseUri(String? uriText)
→ Uri?
-
Valid URLs include 127.0.0.1, 127.0.0.1:22, 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
.