License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.ASN1.Prim
Description
Tools to read ASN1 primitive (e.g. boolean, int)
Synopsis
- data ASN1
- = Boolean Bool
- | IntVal Integer
- | BitString BitArray
- | OctetString ByteString
- | Null
- | OID OID
- | Real Double
- | Enumerated Integer
- | ASN1String ASN1CharacterString
- | ASN1Time ASN1TimeType DateTime (Maybe TimezoneOffset)
- | Other ASN1Class ASN1Tag ByteString
- | Start ASN1ConstructionType
- | End ASN1ConstructionType
- data ASN1ConstructionType
- encodeHeader :: Bool -> ASN1Length -> ASN1 -> ASN1Header
- encodePrimitiveHeader :: ASN1Length -> ASN1 -> ASN1Header
- encodePrimitive :: ASN1 -> (Int, [ASN1Event])
- decodePrimitive :: ASN1Header -> ByteString -> ASN1Ret
- encodeConstructed :: ASN1 -> [ASN1] -> (Int, [ASN1Event])
- encodeList :: [ASN1] -> (Int, [ASN1Event])
- encodeOne :: ASN1 -> (Int, [ASN1Event])
- mkSmallestLength :: Int -> ASN1Length
- getBoolean :: Bool -> ByteString -> Either ASN1Error ASN1
- getInteger :: ByteString -> Either ASN1Error ASN1
- getDouble :: ByteString -> Either ASN1Error ASN1
- getBitString :: ByteString -> Either ASN1Error ASN1
- getOctetString :: ByteString -> Either ASN1Error ASN1
- getNull :: ByteString -> Either ASN1Error ASN1
- getOID :: ByteString -> Either ASN1Error ASN1
- getTime :: ASN1TimeType -> ByteString -> Either ASN1Error ASN1
- putTime :: ASN1TimeType -> DateTime -> Maybe TimezoneOffset -> ByteString
- putInteger :: Integer -> ByteString
- putDouble :: Double -> ByteString
- putBitString :: BitArray -> ByteString
- putString :: ByteString -> ByteString
- putOID :: [Integer] -> ByteString
ASN1 high level algebraic type
Constructors
Boolean Bool | |
IntVal Integer | |
BitString BitArray | |
OctetString ByteString | |
Null | |
OID OID | |
Real Double | |
Enumerated Integer | |
ASN1String ASN1CharacterString | |
ASN1Time ASN1TimeType DateTime (Maybe TimezoneOffset) | |
Other ASN1Class ASN1Tag ByteString | |
Start ASN1ConstructionType | |
End ASN1ConstructionType |
data ASN1ConstructionType #
Instances
Show ASN1ConstructionType | |
Defined in Data.ASN1.Types Methods showsPrec :: Int -> ASN1ConstructionType -> ShowS show :: ASN1ConstructionType -> String showList :: [ASN1ConstructionType] -> ShowS | |
Eq ASN1ConstructionType | |
Defined in Data.ASN1.Types Methods (==) :: ASN1ConstructionType -> ASN1ConstructionType -> Bool (/=) :: ASN1ConstructionType -> ASN1ConstructionType -> Bool |
encodeHeader :: Bool -> ASN1Length -> ASN1 -> ASN1Header Source #
encodePrimitiveHeader :: ASN1Length -> ASN1 -> ASN1Header Source #
encodePrimitive :: ASN1 -> (Int, [ASN1Event]) Source #
decodePrimitive :: ASN1Header -> ByteString -> ASN1Ret Source #
encodeList :: [ASN1] -> (Int, [ASN1Event]) Source #
mkSmallestLength :: Int -> ASN1Length Source #
marshall an ASN1 type from a val struct or a bytestring
getBoolean :: Bool -> ByteString -> Either ASN1Error ASN1 Source #
getInteger :: ByteString -> Either ASN1Error ASN1 Source #
getInteger, parse a value bytestring and get the integer out of the two complement encoded bytes
getBitString :: ByteString -> Either ASN1Error ASN1 Source #
getOctetString :: ByteString -> Either ASN1Error ASN1 Source #
marshall an ASN1 type to a bytestring
putInteger :: Integer -> ByteString Source #
putBitString :: BitArray -> ByteString Source #