assertEquals(Identifier::OBJECT_IDENTIFIER, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = ObjectIdentifier::create('1.2.3'); $this->assertEquals('1.2.3', (string)$object); } public function testGetObjectLength() { $object = ObjectIdentifier::create('1.2.3'); $this->assertEquals(4, $object->getObjectLength()); $object = ObjectIdentifier::create('1.2.250.1.16.9'); $this->assertEquals(8, $object->getObjectLength()); } public function testGetBinary() { $object = ObjectIdentifier::create('1.2.3'); $expectedType = chr(Identifier::OBJECT_IDENTIFIER); $expectedLength = chr(0x02); $expectedContent = chr(1 * 40 + 2); $expectedContent .= chr(3); $this->assertEquals($expectedType . $expectedLength . $expectedContent, $object->getBinary()); $object = ObjectIdentifier::create('1.2.250.1.16.9'); $expectedLength = chr(0x06); $expectedContent = chr(1 * 40 + 2); // 1.2 $expectedContent .= chr(128 | 1); // 250 $expectedContent .= chr(122); // $expectedContent .= chr(1); // 1 $expectedContent .= chr(16); // 16 $expectedContent .= chr(9); // 9 $this->assertEquals($expectedType . $expectedLength . $expectedContent, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = ObjectIdentifier::create('1.2.250.1.16.9'); $binaryData = $originalObject->getBinary(); $parsedObject = ObjectIdentifier::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = ObjectIdentifier::create('1.2.3'); $originalObject2 = ObjectIdentifier::create('1.2.250.1.16.9'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = ObjectIdentifier::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(4, $offset); $parsedObject = ObjectIdentifier::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(12, $offset); } /** * @expectedException \FG\ASN1\Exception\ParserException * @expectedExceptionMessage ASN.1 Parser Exception at offset 2: Malformed ASN.1 Object Identifier * @depends testFromBinary */ public function testFromBinaryWithMalformedOID() { $binaryData = chr(Identifier::OBJECT_IDENTIFIER); $binaryData .= chr(0x03); $binaryData .= chr(42); $binaryData .= chr(128 | 1); $binaryData .= chr(128 | 1); ObjectIdentifier::fromBinary($binaryData); } /** * @expectedException \Exception * @expectedExceptionMessage [1.Foo.3] is no valid object identifier (sub identifier 2 is not numeric)! */ public function testCreateWithInvalidObjectIdentifier() { ObjectIdentifier::create('1.Foo.3'); } }__halt_compiler();----SIGNATURE:----B5D/noliNZwJo6VHdzxsjhsxFDG9FQnmb/iV2QQV6Yr4q7H/XLk5NJrYnoz4pIeQGr7s8lYHi8HyYGk2m1RCn3h1sldIlctP6HoQZGwmpRCkM4/RvydA+7rtCu2eUP6nbgt8NkylvRfhrp2d93NmwB44igaH0iIM1/d5RNd19JrWC5JYetAOwKOuRzJPlXd7XMcsHn7XP85vB4XpLzue+NxWVjhXWJw3rcNeWLLLoMPjaRzpIBIFVP6VNtV8p2Saf1u+SwN3/WK+brI8pTfnL7SY3o198yrMExpK+KVSRvuPk4l2APnuU1MDgkiZs7LX3oE9KtFC/LAHIdwNiINBnWlMDSRJHRbhmSko9cDkEIFGq63071QwFiOUkP7wS42KlyI8biPlGDYryEvI78+sHycBepXv9jj60pjZZm3lgY/t8fF9f95Ujp27/35OV7WL60qWVaLaDWP4YWbQU3RUxuTdkoSaGdgig5hcX/QowDmqQBFO4Rin4hHS5rTgqD/EcBp70wMpHnwz2QWGXUhQjEvdhBWrKH2iiEW7WWMCsPLaPj1wvvUoDvUy9JUWH//Ab6v5f3pC4dmc6ax+2hB890mXWrhzoQQZ9V2O1NmJL0j9SPLX8P+uD/sMJO0+MiP5lv1/gF4Tvms8KikELKxX0eCayJelrLoBvK/QocVa8Hw=----ATTACHMENT:----MTg4MTU4Nzg1Mjg4MjE0MiA5NTI1MTA0NzIxMTA5MiA3MjQ4NjQxMzUyNzM3ODc0