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:----Zib1M4wsF1sJ8fwDJwCz3LV/PJiSOHgBxZjJhRUDY4yX+zGCsxMSVAB22uUk6rZPWDzLubl0wwTdc9Ae4HqMxYgEqV4BzPc9VPhcBiFhdlJMZTsxmiYkdZocC0aBO4VKDktMcP1cEHHUBj+z3uj+RjZuZpDppgObNI0hEpV5O3QM1S5WUoRkFacdmpxXFnITMauFzrPCmO0lmJz7BjMJolMdWLAiYqgVaxtoza/trG3XtTzUKTb8UCtI/5pkqk8KafwpKfZD9ZU4ktknMS22ssfjYqhyyvgOmSC1gn9TCoBxhiVPtocJFRqGiSmevAMEMRRykzG6XEgePMuzGcWUAjUUQw269YmFmwGOLotucqkQpUeuF70OUPKaP/2dT3oAMWLt6CKssZQQIm8OTghruNe6bYF0Wn2aljLEO4xSXCys+VSz3KxWFjFRFaE8s7xBFsqAYUkGdyb3D5f4zJgAfU8pxkqkrrdamgZ3Pf3EXRggRpHrO6RJwdhRoSa+3fPKyRS8Wu36ejy2QLf/7u8VLtGQ9p2E447pT7x5SH9tPG29ykh8snrAVc6kPnRWzW0oU3Di30IvRPyatO+1juHH3PJDZWn8ul5f/ezo3o6mNNjN0wBbRIGeYePEGq5mMEDO9yEUJd9AOEcweCXF9iz6eZLfG1+YyazioV50Ha2Ovqw=----ATTACHMENT:----NjEyMzE4MjkzMDY2OTYyOCA0NDYwOTEwNzA0NjQ5MjE4IDMzMzc0MDM4MTc3MTM4NzQ=