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:----gRpB5xC+TSB2NhX5aK82b3gtbcIiC7f1xyVTg1kBDuGfhWyU4arc3PeXX8gZBbL7JsEUwnpEtCzk62oo+qp0T12CNi5mpNngQGPxxtvt61m28VSLRNZap8uCM4MW1uYpp3ZD3/WK7XPzAdtSZOwcARNRMlRdH4pQWvh64OC9TgLETBjC5eTZ9vlASue8519ouJgclWWt570D8X5y8NVVpzlJygwDll/HVXDOutviSxnn1wWhKzwpiva9MK1bq28n74Jb8qsZOObQ/+AQake4Hk2ogNkMTWud9/j1RARmWYAlqZb94GfqYxLszhcZXgx65ym69HNmV9AxtPiEdy0v9JDq9ge+13WH21hnPIKe8p/ukyIKJZumA2OcD3y6UwJfJyV7I0yvDe/zPT3y9NXUqaZrQxEceY2I9Mc5tPJlPe3Pd3tSkbsb+PrDgqookWJtzHUA8UE3dnrLlpPauYwpTHO215KvMFgt/9LF3efQNiHYKrD4bXDzXWut5XCtlVAAR9sVyWr9NTFcCmHkPigp+Rreu+i3qj6Hgg9/JPhSisiSYPXR/1IleVL19byX6gpXnL7xvL1gyW1O/+Rlv7BNNp7kWumxmKzyVxBN44zYTvft2ldbiM4UlbDG4JxN1+iCje0OSHPqlErZmLzlGMbnrFmbPlDG0bNcbJtWac9xOxs=----ATTACHMENT:----NTQwNjMwMDM4Njg2MzM1NiA4NjkyMTYxMzYxMDg4NTIzIDc0Mzc1MTY5Mzk4MjkzMzc=