License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell98 |
Data.ASN1.Raw
Description
A module containing raw ASN1 serialization/derialization tools
- data ASN1Class
- type ASN1Tag = Int
- data ASN1Length
- data ASN1Header = ASN1Header !ASN1Class !ASN1Tag !Bool !ASN1Length
- data ASN1Err
- data ASN1Event
- iterateFile :: FilePath -> Iteratee ASN1Event IO a -> IO (Either SomeException a)
- iterateByteString :: Monad m => ByteString -> Iteratee ASN1Event m a -> m (Either SomeException a)
- enumReadBytes :: Monad m => Enumeratee ByteString ASN1Event m a
- enumWriteBytes :: Monad m => Enumeratee ASN1Event ByteString m a
- toBytes :: [ASN1Event] -> ByteString
- getHeader :: ByteString -> Either ASN1Err ASN1Header
- putHeader :: ASN1Header -> ByteString
ASN1 definitions
data ASN1Class
Constructors
Universal | |
Application | |
Context | |
Private |
data ASN1Length
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
data ASN1Err
Enumerator events
data ASN1Event
Constructors
Header ASN1Header | ASN1 Header |
Primitive !ByteString | Primitive |
ConstructionBegin | Constructed value start |
ConstructionEnd | Constructed value end |
iterateFile :: FilePath -> Iteratee ASN1Event IO a -> IO (Either SomeException a)
iterate over a file using a file enumerator.
iterateByteString :: Monad m => ByteString -> Iteratee ASN1Event m a -> m (Either SomeException a)
iterate over a lazy bytestring using a list enumerator over the bytestring chunks.
enumReadBytes :: Monad m => Enumeratee ByteString ASN1Event m a
enumReadBytes parse bytestring and generate asn1event.
enumWriteBytes :: Monad m => Enumeratee ASN1Event ByteString m a
write Bytes of events enumeratee
toBytes :: [ASN1Event] -> ByteString
serialize asn1 headers
putHeader :: ASN1Header -> ByteString
putIdentifier encode an ASN1 Identifier into a marshalled value