| License | BSD-style |
|---|---|
| Maintainer | Vincent Hanquez <vincent@snarc.org> |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | None |
| 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 #