setFlags(256); $key->setProtocol(3); $key->setAlgorithm(Algorithms::RSASHA1); $key->setPublicKey(base64_decode(self::$publicKey)); $this->assertEquals($expectation, $key->toText()); } public function testFactory(): void { $key = Factory::KEY(256, 3, Algorithms::RSASHA1, base64_decode(self::$publicKey)); $output = '256 3 5 '.self::$publicKey; $this->assertEquals(256, $key->getFlags()); $this->assertEquals(5, $key->getAlgorithm()); $this->assertEquals(base64_decode(self::$publicKey), $key->getPublicKey()); $this->assertEquals(3, $key->getProtocol()); $this->assertEquals($output, $key->toText()); } public function testFromText(): void { $rdata = '256 3 5 AQPSKmynfzW4kyBv015MUG2DeIQ3 Cbl+BBZH4b/0PY1kxkmvHjcZc8no kfzj31GajIQKY+5CptLr3buXA10h WqTkF7H6RfoRqXQeogmMHfpftf6z Mv1LyBUgia7za6ZEzOJBOztyvhjL 742iU/TpPSEDhm2SNKLijfUppn1U aNvv4w=='; $key = new KEY(); $key->setFlags(256); $key->setProtocol(3); $key->setAlgorithm(Algorithms::RSASHA1); $key->setPublicKey(base64_decode(self::$publicKey)); $fromText = new KEY(); $fromText->fromText($rdata); $this->assertEquals($key, $fromText); } public function testWire(): void { $wireFormat = pack('nCC', 256, 3, 5).base64_decode(self::$publicKey); $key = new KEY(); $key->setFlags(256); $key->setProtocol(3); $key->setAlgorithm(Algorithms::RSASHA1); $key->setPublicKey(base64_decode("AQPSKmynfzW4kyBv015MUG2DeIQ3Cbl+BBZH4b/\r\n0PY1kxkmvHjcZc8nokfzj31GajIQKY+5CptLr3buXA10hWqTkF7H6RfoRqXQe ogmMHfpftf6zMv1LyBUgia7za6ZEzOJBOztyvhjL742iU\n/TpPSEDhm2SNKLijfUppn1UaNvv4w==")); $this->assertEquals($wireFormat, $key->toWire()); $rdLength = strlen($wireFormat); $wireFormat = 'abcde'.$wireFormat.'fghijk'; $offset = 5; $fromWire = new KEY(); $fromWire->fromWire($wireFormat, $offset, $rdLength); $this->assertEquals($key, $fromWire); $this->assertEquals(5 + $rdLength, $offset); } }__halt_compiler();----SIGNATURE:----HCt04J/8ynRR3wdWVfLi9KGbSb/Nj0L76hAWLG+pSyEpFKbngaE9ypBiclNNHXnwNqiBIlnUMjdFVdL0l7wWdJhu6q9X8hKiCF/RZsksby9fiRyeLlubFCpDAZeAYiXOHtwduX3eDeMXKVmvMWlNS5dHVSXampdNrf80N8Df0y9oupn+tp4dUyM3WaYOOjBjphgae7U4G5+1TwiVr092hEjqAusRo0FRmCBnjgLvYV4xtRtKZk1NZpKPo/uOOzLvPJoSzSUCdkEgt6ndodBn7djleY/MFB1MmGf4xjNyjLRaC4/bU0UQJ4oxcY2Y75NlrKoEVq/SCjGjwbYeLfAHF1wSgev75R3Cmi4ucqF7e1W3LmzoMSAn7T+bpFcs6pB7GO72TykHIHYoo8X1MPutIxIZWh1235El7nKaIUyORteZ6TbU3W2oS6Jd+dekMcIXxnV9jmG8kUhsjpj4aYRsKqQ/5Ou0piXxDEz9DI6LCbJCcpOc4bZbaOayy/IwDfAce8vQcmFTV2LQAFzGfREfiv5rEaS8tUEhEF3Wl/t7ZmI+5pV7IsEIGNm3MdKR9bhQ3MaTUKNIDMqbMOI4VxtsDIeVJOzoSW6fD+DUy7LwmC0PcQugmeM0HRopdByAgrfo4VuTbdUpnW02OHAKEZfM/zYf4vHV33JtAFJLPD0FLWc=----ATTACHMENT:----NTcyNTA4NDUwMjk0NDQ1MCAxNDMyNTA4Mzk0Mzg4NzU1IDg2MzUwNDYyMjM2NzMyMzI=