Black Lives Matter. Support the Equal Justice Initiative.

Package asn1

import "vendor/"

Overview ▾

Package asn1 contains supporting types for parsing and building ASN.1 messages with the cryptobyte package.


The following is a list of standard tag and class combinations.

const (
    BOOLEAN           = Tag(1)
    INTEGER           = Tag(2)
    BIT_STRING        = Tag(3)
    OCTET_STRING      = Tag(4)
    NULL              = Tag(5)
    ENUM              = Tag(10)
    UTF8String        = Tag(12)
    SEQUENCE          = Tag(16 | classConstructed)
    SET               = Tag(17 | classConstructed)
    PrintableString   = Tag(19)
    T61String         = Tag(20)
    IA5String         = Tag(22)
    UTCTime           = Tag(23)
    GeneralizedTime   = Tag(24)
    GeneralString     = Tag(27)

type Tag

Tag represents an ASN.1 identifier octet, consisting of a tag number (indicating a type) and class (such as context-specific or constructed).

Methods in the cryptobyte package only support the low-tag-number form, i.e. a single identifier octet with bits 7-8 encoding the class and bits 1-6 encoding the tag number.

type Tag uint8

func (Tag) Constructed

func (t Tag) Constructed() Tag

Constructed returns t with the constructed class bit set.

func (Tag) ContextSpecific

func (t Tag) ContextSpecific() Tag

ContextSpecific returns t with the context-specific class bit set.