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

Portabilityunknown
Stabilityexperimental
MaintainerVincent Hanquez <vincent@snarc.org>
Safe HaskellSafe-Infered

Data.ASN1.BinaryEncoding.Raw

Contents

Description

Raw encoding of binary format (BERDERCER)

Synopsis

types

data ASN1Header Source

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

type ASN1Tag = IntSource

ASN1 Tag

data ASN1Length Source

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

data ASN1Event Source

represent one event from an asn1 data stream

Constructors

Header ASN1Header

ASN1 Header

Primitive !ByteString

Primitive

ConstructionBegin

Constructed value start

ConstructionEnd

Constructed value end

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] -> ByteStringSource

transform a list of ASN1 Events into a lazy bytestring

toByteString :: [ASN1Event] -> ByteStringSource

transform a list of ASN1 Events into a strict bytestring