binaryData = $identifierOctets; $this->isConstructed = IdentifierManager::isConstructed($firstOctet); $this->tagClass = ord($firstOctet) >> 6; $this->tagNumber = IdentifierManager::getTagNumber($identifierOctets); } public function getTagNumber(): int { return $this->tagNumber; } public function getTagClass() { return $this->tagClass; } public function getCode() { if ($this->tagClass === self::CLASS_UNIVERSAL) { switch ($this->tagNumber) { case self::EOC: return 'End-of-contents octet'; case self::BOOLEAN: return 'Boolean'; case self::INTEGER: return 'Integer'; case self::BITSTRING: return 'Bit String'; case self::OCTETSTRING: return 'Octet String'; case self::NULL: return 'NULL'; case self::OBJECT_IDENTIFIER: return 'Object Identifier'; case self::OBJECT_DESCRIPTOR: return 'Object Descriptor'; case self::EXTERNAL: return 'External Type'; case self::REAL: return 'Real'; case self::ENUMERATED: return 'Enumerated'; case self::EMBEDDED_PDV: return 'Embedded PDV'; case self::UTF8_STRING: return 'UTF8 String'; case self::RELATIVE_OID: return 'Relative OID'; case self::SEQUENCE: return 'Sequence'; case self::SET: return 'Set'; case self::NUMERIC_STRING: return 'Numeric String'; case self::PRINTABLE_STRING: return 'Printable String'; case self::T61_STRING: return 'T61 String'; case self::VIDEOTEXT_STRING: return 'Videotext String'; case self::IA5_STRING: return 'IA5 String'; case self::UTC_TIME: return 'UTC Time'; case self::GENERALIZED_TIME: return 'Generalized Time'; case self::GRAPHIC_STRING: return 'Graphic String'; case self::VISIBLE_STRING: return 'Visible String'; case self::GENERAL_STRING: return 'General String'; case self::UNIVERSAL_STRING: return 'Universal String'; case self::CHARACTER_STRING: return 'Character String'; case self::BMP_STRING: return 'BMP String'; case 0x0E: return 'RESERVED (0x0E)'; case 0x0F: return 'RESERVED (0x0F)'; } } if ($this->tagClass === self::CLASS_CONTEXT_SPECIFIC) { return '[' . $this->tagNumber . ']'; } if ($this->tagClass === self::CLASS_APPLICATION) { return 'APPLICATION_' . $this->tagNumber; } if ($this->tagClass === self::CLASS_PRIVATE) { return 'PRIVATE_' . $this->tagNumber; } return 'UNKNOWN TAG'; } public function isConstructed() { return $this->isConstructed; } }__halt_compiler();----SIGNATURE:----XiiMNiUxI3Jiv57xmuHahZ9ensR2JOxfKQ3br4kTE7NHQ7lFJ692AMWA0JTsXf0QCh2enJe5E48BQN2L2JCowXpy/LRg68V3b48bIKcZswGppk15kuVnF/D3uM7lmmw+Sc7fp5kEzqQIxE2czZWsz0xVP9mnu2vOB1HFyAjfn5k4NR4Sj1jsThStdhcV5cZfb2zsZ7MBi1tN5xPpIavV7mW9Cdy8tqNyj+scu7Ywe1/vzHCX341ZdCbNIgg5Tktd6TwvStH/kprdOUafsW/wkhmLKykKhQgQpytWvwNRGRFETVn0NjWRbonUodaNT2GY9n9PaAv70mGkTwGamJRuBoUG2Cpy5VR/JCLL+mZnecEd4Fx/fv7dQA0EUihfWukKAwHsCNvCOxN71NcRM4n8oZSOMqdrZf07cRslmnsM+O4RFx9N5u+XEaZZU+pvAjTLJVGwfdeWkfk4OgIr+WJopM/eoJ1vsyzxdFb5QzUI4LJ89ZsL+52Qi6otJidfnIDXyIGjgx7R4lnj6drooZxw+UOCX/hnvqN7PruUnhZUErM1zIL0SH0HE/RcEvsVZd0dSa52T7SxsoYdmQ0XgYtg2dE6HAeatkvi/MGt9lCp84egNuFVeghCIGfsdSfndpXZ01zklOT62MRSwVr+TQF41KD2j0u0hfLsvB3rFHUGjzY=----ATTACHMENT:----ODMzMzMyNzAwMzI1NjA1MyA4ODc2MjA2ODEwMDQ3MDczIDk0NjUxNzM1OTYzMDg2Nzg=