asn1-encoding-0.9.5: ASN1 data reader and writer in RAW, BER and DER forms

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Data.ASN1.BinaryEncoding.Raw

Contents

Description

Raw encoding of binary format (BERDERCER)

Synopsis

types

data ASN1Header #

ASN1 Header with the class, tag, constructed flag and length.

Constructors

ASN1Header !ASN1Class !ASN1Tag !Bool !ASN1Length 
Instances
Eq ASN1Header 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

(==) :: ASN1Header -> ASN1Header -> Bool

(/=) :: ASN1Header -> ASN1Header -> Bool

Show ASN1Header 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

showsPrec :: Int -> ASN1Header -> ShowS

show :: ASN1Header -> String

showList :: [ASN1Header] -> ShowS

data ASN1Class #

Element class

Instances
Enum ASN1Class 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Eq ASN1Class 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

(==) :: ASN1Class -> ASN1Class -> Bool

(/=) :: ASN1Class -> ASN1Class -> Bool

Ord ASN1Class 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

compare :: ASN1Class -> ASN1Class -> Ordering

(<) :: ASN1Class -> ASN1Class -> Bool

(<=) :: ASN1Class -> ASN1Class -> Bool

(>) :: ASN1Class -> ASN1Class -> Bool

(>=) :: ASN1Class -> ASN1Class -> Bool

max :: ASN1Class -> ASN1Class -> ASN1Class

min :: ASN1Class -> ASN1Class -> ASN1Class

Show ASN1Class 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

showsPrec :: Int -> ASN1Class -> ShowS

show :: ASN1Class -> String

showList :: [ASN1Class] -> ShowS

type ASN1Tag = Int #

ASN1 Tag

data ASN1Length #

ASN1 Length with all different formats

Constructors

LenShort Int

Short form with only one byte. length has to be < 127.

LenLong Int Int

Long form of N bytes

LenIndefinite

Length is indefinite expect an EOC in the stream to finish the type

Instances
Eq ASN1Length 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

(==) :: ASN1Length -> ASN1Length -> Bool

(/=) :: ASN1Length -> ASN1Length -> Bool

Show ASN1Length 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

showsPrec :: Int -> ASN1Length -> ShowS

show :: ASN1Length -> String

showList :: [ASN1Length] -> ShowS

data ASN1Event #

represent one event from an asn1 data stream

Constructors

Header ASN1Header

ASN1 Header

Primitive !ByteString

Primitive

ConstructionBegin

Constructed value start

ConstructionEnd

Constructed value end

Instances
Eq ASN1Event 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

(==) :: ASN1Event -> ASN1Event -> Bool

(/=) :: ASN1Event -> ASN1Event -> Bool

Show ASN1Event 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Methods

showsPrec :: Int -> ASN1Event -> ShowS

show :: ASN1Event -> String

showList :: [ASN1Event] -> ShowS

parser

parseLBS :: ByteString -> Either ASN1Error [ASN1Event] #

Parse one lazy bytestring and returns on success all ASN1 events associated.

parseBS :: ByteString -> Either ASN1Error [ASN1Event] #

Parse one strict bytestring and returns on success all ASN1 events associated.

writer

toLazyByteString :: [ASN1Event] -> ByteString #

transform a list of ASN1 Events into a lazy bytestring

toByteString :: [ASN1Event] -> ByteString #

transform a list of ASN1 Events into a strict bytestring