107 \
fpoirotte\Pssht\Random\RandomInterface $rng,
121 throw new \InvalidArgumentException();
124 $this->cookie = $rng->getBytes(16);
129 $this->macAlgosC2S = $macAlgosC2S;
130 $this->macAlgosS2C = $macAlgosS2C;
145 $encoder->encodeBytes($this->cookie);
146 $encoder->encodeNameList($this->kexAlgos);
147 $encoder->encodeNameList($this->serverHostKeyAlgos);
148 $encoder->encodeNameList($this->encAlgosC2S);
149 $encoder->encodeNameList($this->encAlgosS2C);
150 $encoder->encodeNameList($this->macAlgosC2S);
151 $encoder->encodeNameList($this->macAlgosS2C);
152 $encoder->encodeNameList($this->compAlgosC2S);
153 $encoder->encodeNameList($this->compAlgosS2C);
154 $encoder->encodeNameList($this->langC2S);
155 $encoder->encodeNameList($this->langS2C);
156 $encoder->encodeBoolean($this->firstKexPacket);
157 $encoder->encodeUint32(0);
164 new \fpoirotte\Pssht\Random\Fixed(
165 $decoder->decodeBytes(16)
167 $decoder->decodeNameList(),
168 $decoder->decodeNameList(),
169 $decoder->decodeNameList(),
170 $decoder->decodeNameList(),
171 $decoder->decodeNameList(),
172 $decoder->decodeNameList(),
173 $decoder->decodeNameList(),
174 $decoder->decodeNameList(),
175 $decoder->decodeNameList(),
176 $decoder->decodeNameList(),
177 $decoder->decodeBoolean()
179 $decoder->decodeUint32();
226 return $this->macAlgosC2S;
262 return $this->macAlgosS2C;
serialize(\fpoirotte\Pssht\Wire\Encoder $encoder)
$langC2S
Supported languages (client to server) in RFC 3066 format.
static unserialize(\fpoirotte\Pssht\Wire\Decoder $decoder)
$MACAlgosS2C
Supported MAC algorithms (server to client).
$serverHostKeyAlgos
Supported server host key algorithms.
$compAlgosC2S
Supported compression algorithms (client to server).
$encAlgosC2S
Supported encryption algorithms (client to server).
$firstKexPacket
Indicates whether a KEX packet was sent right after this one.
$kexAlgos
Supported key exchange algorithms.
$langS2C
Supported languages (server to client) in RFC 3066 format.
$compAlgosS2C
Supported compression algorithms (server to client).
__construct(\fpoirotte\Pssht\Random\RandomInterface $rng, array $kexAlgos, array $serverHostKeyAlgos, array $encAlgosC2S, array $encAlgosS2C, array $macAlgosC2S, array $macAlgosS2C, array $compAlgosC2S, array $compAlgosS2C, array $langC2S=array(), array $langS2C=array(), $firstKexPacket=false)
$encAlgosS2C
Supported encryption algorithms (server to client).
$cookie
Random cookie for the Key Exchange.
$MACAlgosC2S
Supported MAC algorithms (client to server).