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:----PM2vLXQghjoxJ3zsr1jNOj64ncHZG/gYZfN4kPW9/WgeQRVjUVEd0VzEHlGOAkg+QK2c5vm0k+/zhxFPsd0DRdkvk+x9Duwc/DOqy+KQc5nKHz7Ocmci3ncNGZZq/BPkBbzUrNYt4A4t6ydOmSE8Hon+pa64Dc5+sXe0rNO6AL4C3zPk4twXsGZhBuHJfTJxQJKp4GzjKLArYKaFqkc4lpPo0N+QMEeP+7au7uVTj03wSVj356OA4z+XXBqbcmprI5XWz33Ah/wyMnSj/oDCRryfacBb97so9WgYi0T09KMY8m2v9JCDllO2sT2ODvt4vrRx6UiFLJOuDLp6FcXkhYrw+7dsg0K1JVcGWe5+91MmFeffu13EwwgRvZS3mB7HG4se6FagOv1eX1xGJCyORTqxv4BplprDlQyzl5deFsBTptygwKvU/2EIJLdHfOr/f7my1p4AQvWSRFrrruRsihnMWJIKx1nBKr4EorO2vxndWDYYGlwReJs7adc3pENrWNFxuT90+uG3VlC2xJQ/Evz6ifpjHhoLAaEC3x6qXqsG1VNl6sUV/XBdGS+Og2Gg+Sm+e96FwaIUXM8n8rAcogWWTTjusXO0umUAyfG3UfGfefrptXgJJxxM64uBrf3ObgcKhD/ftjD3IQYYjOPJCQfGeSz97diWLggg0VmyRp4=----ATTACHMENT:----NjQ2MzcyOTk0MDk2ODU3NSA5MzU4MjYwODc4OTIyNzY5IDg2NzY5ODQ0OTE2MTA2MA==