asn1-encoding
LicenseBSD-style
MaintainerVincent Hanquez <[email protected]>
Stabilityexperimental
Portabilityunknown
Safe HaskellNone
LanguageHaskell2010

Data.ASN1.BinaryEncoding.Raw

Description

Raw encoding of binary format (BERDERCER)

Synopsis

types

data ASN1Header #

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

Instances

Instances details
Show ASN1Header # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Eq ASN1Header # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

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

Instances details
Show ASN1Length # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Eq ASN1Length # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

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

Instances details
Show ASN1Event # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Eq ASN1Event # 
Instance details

Defined in Data.ASN1.Types.Lowlevel

parser

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

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

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

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

writer

toLazyByteString :: [ASN1Event] -> ByteString Source #

transform a list of ASN1 Events into a lazy bytestring

toByteString :: [ASN1Event] -> ByteString Source #

transform a list of ASN1 Events into a strict bytestring