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.

Instances
Eq ASN1Header 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Show 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
Eq ASN1Length 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Show 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
Eq ASN1Event 
Instance details

Defined in Data.ASN1.Types.Lowlevel

Show ASN1Event 
Instance details

Defined in Data.ASN1.Types.Lowlevel

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