setKeyTag(60485); $ds->setAlgorithm(Algorithms::RSASHA1); $ds->setDigestType(DS::DIGEST_SHA1); $ds->setDigest(hex2bin(self::$digest)); $this->assertEquals($expectation, $ds->toText()); } public function testFactory(): void { $keyTag = 60485; $ds = Factory::DS($keyTag, Algorithms::RSASHA1, hex2bin(self::$digest), DS::DIGEST_SHA1); $this->assertEquals($keyTag, $ds->getKeyTag()); $this->assertEquals(Algorithms::RSASHA1, $ds->getAlgorithm()); $this->assertEquals(hex2bin(self::$digest), $ds->getDigest()); $this->assertEquals(DS::DIGEST_SHA1, $ds->getDigestType()); } public function testFromText(): void { $expectation = new DS(); $expectation->setKeyTag(60485); $expectation->setAlgorithm(Algorithms::RSASHA1); $expectation->setDigestType(DS::DIGEST_SHA1); $expectation->setDigest(hex2bin(self::$digest)); $fromText = new DS(); $fromText->fromText('60485 5 1 '.self::$digest); $this->assertEquals($expectation, $fromText); } public function testWire(): void { $ds = new DS(); $ds->setKeyTag(60485); $ds->setAlgorithm(Algorithms::RSASHA1); $ds->setDigestType(DS::DIGEST_SHA1); $ds->setDigest(hex2bin(self::$digest)); $wireFormat = $ds->toWire(); $fromWire = new DS(); $fromWire->fromWire($wireFormat); $this->assertEquals($ds, $fromWire); } public function testCalculateDigest(): void { $algorithm = Algorithms::RSASHA1; $dnskey = new DNSKEY(); $dnskey->setPublicKey(base64_decode('AQOeiiR0GOMYkDshWoSKz9XzfwJr1AYtsmx3TGkJaNXVbfi/2pHm822aJ5iI9BMzNXxeYCmZDRD99WYwYqUSdjMmmAphXdvxegXd/M5+X7OrzKBaMbCVdFLUUh6DhweJBjEVv5f2wwjM9XzcnOf+EPbtG9DMBmADjFDc2w/rljwvFw==')); $dnskey->setAlgorithm($algorithm); $dnskey->setFlags(256); $ds = new DS(); $ds->setAlgorithm($algorithm); $ds->setKeyTag(60485); $ds->calculateDigest('DSKEY.example.com.', $dnskey); $this->assertEquals('60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292118', $ds->toText()); } }__halt_compiler();----SIGNATURE:----esP8oDydVbHFLPvmCjMVZ4XxkBVuY9oK6LEa57YXQrJWOsXlp3QdAbQ2Nz0aHATetxwkakhrHnKNYJxTBiLGf8Stbcg+gJo36kvwDtuYTXIqYOgzpr9Un0oCOXvkwTo793enqfifX4OgmPmaCJBP769/3a9ftxOFP9FB57VUYP3eLqjTCg4L+seDnQj3W5rlv6dsotkgjTBPfWQI6kNPyCgpHKp93SjzHrzZ0UENfuyOQdlBO6EvmwOV/GZ0X4cJMrBnaQ9wOO7PB0pkro6dVZ49SZXp1sMjo+KNUDUCho3oafsXL72BPw9pICRgyKL0Y9lLCFfVOc1qKJkpDJ/WZnST2cvTuHpN3p4PlCjg+DOwznl5IXIk0CXAqqRW2R7TKuYcFKaF8lSHjju8O45Chl+T/xMsCl+jnb3j1w1Sw+XoGSmt9xzq6bZGVxree0bM8GoE2YkbB1TOSs8Qfb10MKFsNLZQHCiS5Qp6mHsl0ZH1+jv99oktTaionJdw+PDxjiH6pJXHjCU8ncE52b14uoGBTLgl8bf9MKJRHiP8cvRP00e3FtyKUOcjy+oIBJX069Toeuzit8BcOie51FBp/GTkzk7O58AHNAJwGHzT7EajMpSyj3Y9NJQMdymfcjJEP7uIcTErjknXj+PAtXGI71IxDjnYALHUxmIP+bZ1wSg=----ATTACHMENT:----NDk4NzcwMjI0NjY4MzcxOSA5NTEyMDE4NzE3ODU4OTA5IDg3MTk3NzE5MDkxNjQyNjY=