Difference between revisions of "Unit ASN.1"
From Ultibo.org
Line 16: | Line 16: | ||
---- | ---- | ||
− | '' | + | |
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''ASN1 specific constants''' <code> ASN1_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>ASN1_TAG_EOC = $00;</code> | ||
+ | | Not used with DER | ||
+ | |- | ||
+ | | <code>ASN1_TAG_BOOLEAN = $01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_INTEGER = $02;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_BITSTRING = $03;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_OCTETSTRING = $04;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_NULL = $05;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_OID = $06;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_OBJECT_DESCRIPTOR = $07;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_EXTERNAL = $08;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_REAL = $09;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_ENUMERATED = $0A;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_EMBEDDED_PDV = $0B;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_UTF8STRING = $0C;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ANS1_TAG_RELATIVE_OID = $0D;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_SEQUENCE = $10;</code> | ||
+ | | Constructed | ||
+ | |- | ||
+ | | <code>ASN1_TAG_SET = $11;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_NUMERICSTRING = $12;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_PRINTABLESTRING = $13;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_TG1STRING = $14;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_VIDEOTEXSTRING = $15;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_IA5STRING = $16;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_UTCTIME = $17;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_GENERALIZEDTIME = $18;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_GRAPHICSTRING = $19;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_VISIBLESTRING = $1A;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_TAG_GENERALSTRING = $1B;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_UNIVERSALSTRING = $1C;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_CHARACTERSTRING = $1D;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | | <code>ASN1_TAG_BMPSTRING = $1E;</code> | ||
+ | | Not supported | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>ASN1_TAG_LONGFORM = $1F;</code> | ||
+ | | Tag is encoded in long form | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>ASN1_CLASS_UNIVERSAL = 0;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_CLASS_APPLICATION = 1;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_CLASS_CONTEXT_SPECIFIC = 2;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ASN1_CLASS_PRIVATE = 3;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>ASN1_MAX_OID_LEN = 20;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Type definitions === | === Type definitions === |
Revision as of 00:26, 19 April 2018
Return to Unit Reference
Description
Ultibo ASN.1 interface unit
Abstract Syntax Notation One (ASN.1) is an interface description language for defining data structures that can be serialized and deserialized in a standard, cross-platform way. It's broadly used in telecommunications and computer networking, and especially in cryptography.
This unit currently only provides the basic functionality required by X509 to read and parse a certificate in DER format.
It is expected that this unit will be expanded to incorporate additional functions over time.
Constants
ASN1 specific constants
ASN1_*
ASN1_TAG_EOC = $00;
|
Not used with DER |
ASN1_TAG_BOOLEAN = $01;
|
|
ASN1_TAG_INTEGER = $02;
|
|
ASN1_TAG_BITSTRING = $03;
|
|
ASN1_TAG_OCTETSTRING = $04;
|
|
ASN1_TAG_NULL = $05;
|
|
ASN1_TAG_OID = $06;
|
|
ASN1_TAG_OBJECT_DESCRIPTOR = $07;
|
Not supported |
ASN1_TAG_EXTERNAL = $08;
|
Not supported |
ASN1_TAG_REAL = $09;
|
Not supported |
ASN1_TAG_ENUMERATED = $0A;
|
Not supported |
ASN1_TAG_EMBEDDED_PDV = $0B;
|
Not supported |
ASN1_TAG_UTF8STRING = $0C;
|
Not supported |
ANS1_TAG_RELATIVE_OID = $0D;
|
|
ASN1_TAG_SEQUENCE = $10;
|
Constructed |
ASN1_TAG_SET = $11;
|
|
ASN1_TAG_NUMERICSTRING = $12;
|
Not supported |
ASN1_TAG_PRINTABLESTRING = $13;
|
|
ASN1_TAG_TG1STRING = $14;
|
Not supported |
ASN1_TAG_VIDEOTEXSTRING = $15;
|
Not supported |
ASN1_TAG_IA5STRING = $16;
|
|
ASN1_TAG_UTCTIME = $17;
|
|
ASN1_TAG_GENERALIZEDTIME = $18;
|
Not supported |
ASN1_TAG_GRAPHICSTRING = $19;
|
Not supported |
ASN1_TAG_VISIBLESTRING = $1A;
|
|
ASN1_TAG_GENERALSTRING = $1B;
|
Not supported |
ASN1_TAG_UNIVERSALSTRING = $1C;
|
Not supported |
ASN1_TAG_CHARACTERSTRING = $1D;
|
Not supported |
ASN1_TAG_BMPSTRING = $1E;
|
Not supported |
ASN1_TAG_LONGFORM = $1F;
|
Tag is encoded in long form |
ASN1_CLASS_UNIVERSAL = 0;
|
|
ASN1_CLASS_APPLICATION = 1;
|
|
ASN1_CLASS_CONTEXT_SPECIFIC = 2;
|
|
ASN1_CLASS_PRIVATE = 3;
|
|
ASN1_MAX_OID_LEN = 20;
|
Type definitions
To be documented
Public variables
None defined
Function declarations
To be documented
Return to Unit Reference