Documentation

Identifier
in package

The Identifier encodes the ASN.1 tag (class and number) of the type of a data value.

Every identifier whose number is in the range 0 to 30 has the following structure:

Bits: 8 7 6 5 4 3 2 1 | Class | P/C | Tag number | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bits 8 and 7 define the class of this type ( Universal, Application, Context-specific or Private). Bit 6 encoded whether this type is primitive or constructed The remaining bits 5 - 1 encode the tag number

Table of Contents

Constants

BITSTRING  = 0x3
BMP_STRING  = 0x1e
BOOLEAN  = 0x1
CHARACTER_STRING  = 0x1d
CLASS_APPLICATION  = 0x1
CLASS_CONTEXT_SPECIFIC  = 0x2
CLASS_PRIVATE  = 0x3
CLASS_UNIVERSAL  = 0x0
EMBEDDED_PDV  = 0xb
ENUMERATED  = 0xa
EOC  = 0x0
EXTERNAL  = 0x8
GENERAL_STRING  = 0x1b
GENERALIZED_TIME  = 0x18
GRAPHIC_STRING  = 0x19
IA5_STRING  = 0x16
INTEGER  = 0x2
IS_CONSTRUCTED  = 0x20
LONG_FORM  = 0x1f
NULL  = 0x5
NUMERIC_STRING  = 0x12
OBJECT_DESCRIPTOR  = 0x7
OBJECT_IDENTIFIER  = 0x6
OCTETSTRING  = 0x4
PRINTABLE_STRING  = 0x13
REAL  = 0x9
RELATIVE_OID  = 0xd
SEQUENCE  = 0x30
SET  = 0x31
T61_STRING  = 0x14
UNIVERSAL_STRING  = 0x1c
UTC_TIME  = 0x17
UTF8_STRING  = 0xc
VIDEOTEXT_STRING  = 0x15
VISIBLE_STRING  = 0x1a

Methods

create()  : int|string
Creates an identifier. Short form identifiers are returned as integers for BC, long form identifiers will be returned as a string of octets.
getClassDescription()  : string
Returns a textual description of the information encoded in a given identifier octet.
getName()  : string
Return the name of the mapped ASN.1 type with a preceding "ASN.1 ".
getShortName()  : string
Return the short version of the type name.
getTagNumber()  : int
isApplicationClass()  : mixed
isConstructed()  : mixed
isContextSpecificClass()  : mixed
isLongForm()  : mixed
isPrivateClass()  : mixed
isUniversalClass()  : mixed
makeNumeric()  : mixed

Constants

CHARACTER_STRING

public mixed CHARACTER_STRING = 0x1d

CLASS_APPLICATION

public mixed CLASS_APPLICATION = 0x1

CLASS_CONTEXT_SPECIFIC

public mixed CLASS_CONTEXT_SPECIFIC = 0x2

CLASS_UNIVERSAL

public mixed CLASS_UNIVERSAL = 0x0

GENERAL_STRING

public mixed GENERAL_STRING = 0x1b

GENERALIZED_TIME

public mixed GENERALIZED_TIME = 0x18

GRAPHIC_STRING

public mixed GRAPHIC_STRING = 0x19

IS_CONSTRUCTED

public mixed IS_CONSTRUCTED = 0x20

NUMERIC_STRING

public mixed NUMERIC_STRING = 0x12

OBJECT_DESCRIPTOR

public mixed OBJECT_DESCRIPTOR = 0x7

OBJECT_IDENTIFIER

public mixed OBJECT_IDENTIFIER = 0x6

PRINTABLE_STRING

public mixed PRINTABLE_STRING = 0x13

UNIVERSAL_STRING

public mixed UNIVERSAL_STRING = 0x1c

VIDEOTEXT_STRING

public mixed VIDEOTEXT_STRING = 0x15

VISIBLE_STRING

public mixed VISIBLE_STRING = 0x1a

Methods

create()

Creates an identifier. Short form identifiers are returned as integers for BC, long form identifiers will be returned as a string of octets.

public static create(int $class, bool $isConstructed, int $tagNumber) : int|string
Parameters
$class : int
$isConstructed : bool
$tagNumber : int
Tags
throws
Exception

if the given arguments are invalid

Return values
int|string

getClassDescription()

Returns a textual description of the information encoded in a given identifier octet.

public static getClassDescription(int|string $identifier) : string

The first three (most significant) bytes are evaluated to determine if this is a constructed or primitive type and if it is either universal, application, context-specific or private.

Example: Constructed context-specific Primitive universal

Parameters
$identifier : int|string
Return values
string

getName()

Return the name of the mapped ASN.1 type with a preceding "ASN.1 ".

public static getName(int|string $identifier) : string

Example: ASN.1 Octet String

Parameters
$identifier : int|string
Tags
see
Identifier::getShortName()
Return values
string

getShortName()

Return the short version of the type name.

public static getShortName(int|string $identifier) : string

If the given identifier octet can be mapped to a known universal type this will return its name. Else Identifier::getClassDescription() is used to retrieve information about the identifier.

Parameters
$identifier : int|string
Tags
see
Identifier::getName()
see
Identifier::getClassDescription()
Return values
string

getTagNumber()

public static getTagNumber(int|string $identifier) : int
Parameters
$identifier : int|string
Return values
int

isApplicationClass()

public static isApplicationClass(mixed $identifier) : mixed
Parameters
$identifier : mixed

isConstructed()

public static isConstructed(mixed $identifierOctet) : mixed
Parameters
$identifierOctet : mixed

isContextSpecificClass()

public static isContextSpecificClass(mixed $identifier) : mixed
Parameters
$identifier : mixed

isLongForm()

public static isLongForm(mixed $identifierOctet) : mixed
Parameters
$identifierOctet : mixed

isPrivateClass()

public static isPrivateClass(mixed $identifier) : mixed
Parameters
$identifier : mixed

isUniversalClass()

public static isUniversalClass(mixed $identifier) : mixed
Parameters
$identifier : mixed

makeNumeric()

private static makeNumeric(mixed $identifierOctet) : mixed
Parameters
$identifierOctet : mixed

        
On this page

Search results