AbstractSyntaxNotation1Element

The generic element from which all other elements will inherit

abstract
class AbstractSyntaxNotation1Element (
Element
) {}

Members

Aliases

bmpString
alias bmpString = basicMultilingualPlaneString
embeddedPDV
alias embeddedPDV = embeddedPresentationDataValue
ia5String
alias ia5String = internationalAlphabetNumber5String
iso646String
alias iso646String = visibleString
objectID
alias objectID = objectIdentifier
oid
alias oid = objectIdentifier
relativeOID
alias relativeOID = relativeObjectIdentifier
roid
alias roid = relativeObjectIdentifier
t61String
alias t61String = teletexString
utc
alias utc = coordinatedUniversalTime
utcTime
alias utcTime = coordinatedUniversalTime
utf8String
alias utf8String = unicodeTransformationFormat8String

Enums

LengthEncodingPreference
enum LengthEncodingPreference

Determines how the lengths of elements are encoded, if you have a choice. When using Distinguished Encoding Rules (DER), this is ignored entirely, since only definite-length encoding is permitted, for instance. Used for setting lengthEncodingPreference in elements where you have a choice.

Functions

validateTag
void validateTag(ASN1TagClass[] acceptableTagClasses, ASN1Construction acceptableConstruction, size_t[] acceptableTagNumbers, string whatYouAttemptedToDo)

A convenient method for validating the tag of an ASN.1 element.

validateTag
void validateTag(ASN1TagClass[] acceptableTagClasses, size_t[] acceptableTagNumbers, string whatYouAttemptedToDo)

A convenient method for validating the tag of an ASN.1 element.

Properties

basicMultilingualPlaneString
wstring basicMultilingualPlaneString [@property getter]

Decodes a string of UTF-16 characters

basicMultilingualPlaneString
wstring basicMultilingualPlaneString [@property setter]

Encodes a string of UTF-16 characters

bitString
bool[] bitString [@property getter]
Undocumented in source.
bitString
bool[] bitString [@property setter]
Undocumented in source.
boolean
bool boolean [@property getter]

Decodes a boolean

boolean
bool boolean [@property setter]

Encodes a boolean

characterString
CharacterString characterString [@property getter]

Decodes a $(MONO CHARACTER STRING), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

characterString
CharacterString characterString [@property setter]

Encodes a $(MONO CHARACTER STRING), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

coordinatedUniversalTime
DateTime coordinatedUniversalTime [@property getter]

Decodes a DateTime

coordinatedUniversalTime
DateTime coordinatedUniversalTime [@property setter]

Encodes a DateTime

embeddedPresentationDataValue
EmbeddedPDV embeddedPresentationDataValue [@property getter]

Decodes an $(MONO EmbeddedPDV), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

embeddedPresentationDataValue
EmbeddedPDV embeddedPresentationDataValue [@property setter]

Encodes an $(MONO EmbeddedPDV), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

endOfContent
void endOfContent [@property getter]

"Decodes" an $(MONO END OF CONTENT), by which I mean: returns nothing, but throws exceptions if the element is not correct.

enumerated
T enumerated [@property getter]

Encodes an integer that represents an ENUMERATED value

enumerated
T enumerated [@property setter]

Decodes an integer that represents an ENUMERATED value

external
deprecated External external [@property getter]

Decodes an $(MONO EXTERNAL), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

external
deprecated External external [@property setter]

Encodes an $(MONO EXTERNAL), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

generalString
deprecated string generalString [@property getter]

Decodes a string containing only ASCII characters.

generalString
deprecated string generalString [@property setter]

Encodes a string containing only ASCII characters.

generalizedTime
DateTime generalizedTime [@property getter]

Decodes a DateTime

generalizedTime
DateTime generalizedTime [@property setter]

Encodes a DateTime

graphicString
deprecated string graphicString [@property getter]

Decodes an ASCII string that contains only characters between and including 0x20 and 0x75.

graphicString
deprecated string graphicString [@property setter]

Encodes an ASCII string that contains only characters between and including 0x20 and 0x75.

integer
T integer [@property getter]

Decodes an integer

integer
T integer [@property setter]

Encodes an integer

internationalAlphabetNumber5String
string internationalAlphabetNumber5String [@property getter]

Decodes a string of ASCII characters

internationalAlphabetNumber5String
string internationalAlphabetNumber5String [@property setter]

Encodes a string of ASCII characters

isApplication
bool isApplication [@property getter]

A convenience method for more concisely determining if an element is of APPLICATION tag class.

isConstructed
bool isConstructed [@property getter]

A convenience method for more concisely determining if an element is of primitive or constructed construction.

isContextSpecific
bool isContextSpecific [@property getter]

A convenience method for more concisely determining if an element is of CONTEXT-SPECIFIC tag class.

isPrimitive
bool isPrimitive [@property getter]

A convenience method for more concisely determining if an element is of primitive or constructed construction.

isPrivate
bool isPrivate [@property getter]

A convenience method for more concisely determining if an element is of PRIVATE tag class.

isUniversal
bool isUniversal [@property getter]

A convenience method for more concisely determining if an element is of UNIVERSAL tag class.

length
size_t length [@property getter]

The length of the value in octets

nill
void nill [@property getter]

"Decodes" a $(MONO NULL), by which I mean: returns nothing, but throws exceptions if the element is not correct.

numericString
string numericString [@property getter]

Decodes a string, where the characters of the string are limited to 0 - 9 and space.

numericString
string numericString [@property setter]

Encodes a string, where the characters of the string are limited to 0 - 9 and space.

objectDescriptor
string objectDescriptor [@property getter]

Decodes an ObjectDescriptor, which is a string consisting of only graphical characters. In fact, ObjectDescriptor is actually implicitly just a GraphicString! The formal specification for an ObjectDescriptor is:

objectDescriptor
string objectDescriptor [@property setter]

Encodes an ObjectDescriptor, which is a string consisting of only graphical characters. In fact, ObjectDescriptor is actually implicitly just a GraphicString! The formal specification for an ObjectDescriptor is:

objectIdentifier
OID objectIdentifier [@property getter]

Decodes an Object Identifier

objectIdentifier
OID objectIdentifier [@property setter]

Encodes an Object Identifier

octetString
ubyte[] octetString [@property getter]

Decodes a ubyte[] array

octetString
ubyte[] octetString [@property setter]

Encodes a ubyte[] array

printableString
string printableString [@property getter]

Decodes a string that will only contain characters a-z, A-Z, 0-9, space, apostrophe, parentheses, comma, minus, plus, period, forward slash, colon, equals, and question mark.

printableString
string printableString [@property setter]

Encodes a string that will only contain characters a-z, A-Z, 0-9, space, apostrophe, parentheses, comma, minus, plus, period, forward slash, colon, equals, and question mark.

realNumber
T realNumber [@property getter]

Encodes a floating-point number

realNumber
T realNumber [@property setter]

Encodes a floating-point number

relativeObjectIdentifier
OIDNode[] relativeObjectIdentifier [@property getter]

Decodes a portion of an Object Identifier

relativeObjectIdentifier
OIDNode[] relativeObjectIdentifier [@property setter]

Encodes a porition of an Object Identifier

sequence
Element[] sequence [@property getter]

Decodes an array of elements.

sequence
Element[] sequence [@property setter]

Encodes an array of elements.

set
Element[] set [@property getter]

Decodes an array of elements.

set
Element[] set [@property setter]

Encodes an array of elements.

teletexString
ubyte[] teletexString [@property getter]

Decodes bytes representing the T.61 Character Set

teletexString
ubyte[] teletexString [@property setter]

Encodes bytes representing the T.61 Character Set

unicodeTransformationFormat8String
string unicodeTransformationFormat8String [@property getter]

Decodes a UTF-8 String

unicodeTransformationFormat8String
string unicodeTransformationFormat8String [@property setter]

Encodes a UTF-8 String

universalString
dstring universalString [@property getter]

Decodes a string of UTF-32 characters

universalString
dstring universalString [@property setter]

Encodes a string of UTF-32 characters

videotexString
ubyte[] videotexString [@property getter]
Undocumented in source.
videotexString
ubyte[] videotexString [@property setter]
Undocumented in source.
visibleString
string visibleString [@property getter]

Decodes a string that only contains characters between and including 0x20 and 0x7E. (Honestly, I don't know how this differs from GraphicalString.)

visibleString
string visibleString [@property setter]

Encodes a string that only contains characters between and including 0x20 and 0x7E. (Honestly, I don't know how this differs from GraphicalString.)

Static variables

lengthRecursionCount
ubyte lengthRecursionCount;

The number of recursions used for parsing constructed elements.

nestingRecursionLimit
ubyte nestingRecursionLimit;

The limit of recursions permitted for parsing constructed elements. Feel free to increase this, if you are not afraid of your system parsing deeply-nested elements, but you probably do not need to change this. You probably do not want to exceed 20, because doing so could make your application vulnerable to denial-of-service attacks, and you should absolutely never set this to 255.

valueRecursionCount
ubyte valueRecursionCount;

The number of recursions used for parsing the values of constructed elements.

Variables

construction
ASN1Construction construction;
debugInformationText
string debugInformationText;
Undocumented in source.
forMoreInformationText
string forMoreInformationText;
Undocumented in source.
notWhatYouMeantText
string notWhatYouMeantText;
Undocumented in source.
reportBugsText
string reportBugsText;
Undocumented in source.
tagClass
ASN1TagClass tagClass;
tagNumber
size_t tagNumber;
value
ubyte[] value;

The octets of the encoded value.

Meta