PKCS8ExampleContentsIndex
Codec.ASN1
Portabilityportable
Stabilityexperimental
Maintainerdominic.steinitz@blueyonder.co.uk
Contents
Types
Haskell Equivalences of Base ASN.1 Types
Modifiers and Accessor Functions
Base ASN.1 Type Definitions
Auxilliary ASN.1 Type Definitions
Association Table of Types and OIDs
Description
Typecheck and decode an abstract BER representations (as, for example, produced by Codec.ASN1.TLV).
Synopsis
data TagType
= Universal
| Application
| Context
| Private
type TagValue = Integer
data TagPlicity
= Implicit
| Explicit
data AbsPrimType
= AbsVisibleString
| AbsPrintableString
| AbsIA5String
| AbsBool
| AbsInteger
| AbsOID
| AbsNull
| AbsOctetString
| AbsBitString
data AbstractType
= AbsBasePrim TagType TagValue AbsPrimType
| AbsRef TagType TagValue TagPlicity TypeDefn
| AbsSeq TagType TagValue TagPlicity [ComponentType]
| AbsSeqOf TagType TagValue TagPlicity TypeDefn
| AbsSetOf TagType TagValue TagPlicity TypeDefn
| AbsChoice [(TagPlicity, NamedType)]
| AbsAnyDefBy ComponentIndex
data TypeDefn = (::=) String AbstractType
data TaggedType = (:@:) (Maybe TagValue) TypeDefn
data NamedType = (:>:) (Maybe String) TaggedType
data ComponentType
= Regular NamedType
| Optional NamedType
| Default NamedType [Octet]
| AnyDefBy ComponentIndex
data VisibleString = VisibleString String
data PrintableString = PrintableString String
data IA5String = IA5String String
data DirectoryString
= VS VisibleString
| PS PrintableString
| IA IA5String
newtype OID = OID [Integer]
data NULL
data OctetString = OctetString [Octet]
data BitString = BitString [Octet]
data SetOf a = SetOf [a]
modName :: String -> TypeDefn -> TypeDefn
getAbsType :: TypeDefn -> AbstractType
modTagType :: Tagged a => TagType -> a -> a
modTagVal :: Tagged a => Maybe TagValue -> a -> a
absRefedType :: AbstractType -> AbstractType
absSeqComponents :: AbstractType -> [AbstractType]
absSeqOfType :: AbstractType -> AbstractType
absSetOfType :: AbstractType -> AbstractType
namedTypeAbstract :: NamedType -> AbstractType
unVisibleString :: VisibleString -> String
unDirectoryString :: DirectoryString -> String
unSetOf :: SetOf a -> [a]
absVisibleString :: TypeDefn
absPrintableString :: TypeDefn
absIA5String :: TypeDefn
absInteger :: TypeDefn
absOID :: TypeDefn
absNull :: TypeDefn
absOctetString :: TypeDefn
absBitString :: TypeDefn
commonName :: TypeDefn
organizationUnitName :: TypeDefn
emailAddress :: TypeDefn
domainComponent :: TypeDefn
oids :: Map OID TypeDefn
Types
data TagType
Constructors
Universal
Application
Context
Private
show/hide Instances
type TagValue = Integer
data TagPlicity
Constructors
Implicit
Explicit
show/hide Instances
data AbsPrimType
Constructors
AbsVisibleString
AbsPrintableString
AbsIA5String
AbsBool
AbsInteger
AbsOID
AbsNull
AbsOctetString
AbsBitString
show/hide Instances
data AbstractType
Constructors
AbsBasePrim TagType TagValue AbsPrimType
AbsRef TagType TagValue TagPlicity TypeDefn
AbsSeq TagType TagValue TagPlicity [ComponentType]
AbsSeqOf TagType TagValue TagPlicity TypeDefn
AbsSetOf TagType TagValue TagPlicity TypeDefn
AbsChoice [(TagPlicity, NamedType)]
AbsAnyDefBy ComponentIndex
show/hide Instances
data TypeDefn
Constructors
(::=) String AbstractType
show/hide Instances
data TaggedType
Constructors
(:@:) (Maybe TagValue) TypeDefn
show/hide Instances
data NamedType
Constructors
(:>:) (Maybe String) TaggedType
show/hide Instances
data ComponentType
Constructors
Regular NamedType
Optional NamedType
Default NamedType [Octet]
AnyDefBy ComponentIndex
show/hide Instances
Haskell Equivalences of Base ASN.1 Types
data VisibleString
Constructors
VisibleString String
show/hide Instances
data PrintableString
Constructors
PrintableString String
show/hide Instances
data IA5String
Constructors
IA5String String
show/hide Instances
data DirectoryString
Constructors
VS VisibleString
PS PrintableString
IA IA5String
show/hide Instances
newtype OID
Constructors
OID [Integer]
show/hide Instances
Encode OID
Eq OID
Ord OID
Show OID
data NULL
show/hide Instances
Eq NULL
Show NULL
data OctetString
Constructors
OctetString [Octet]
show/hide Instances
data BitString
Constructors
BitString [Octet]
show/hide Instances
data SetOf a
Constructors
SetOf [a]
show/hide Instances
Encode a => Encode (SetOf a)
??? a => Eq (SetOf a)
??? a => Show (SetOf a)
Modifiers and Accessor Functions
modName :: String -> TypeDefn -> TypeDefn
Create a new type definition from an existing one.
getAbsType :: TypeDefn -> AbstractType
modTagType :: Tagged a => TagType -> a -> a
modTagVal :: Tagged a => Maybe TagValue -> a -> a
absRefedType :: AbstractType -> AbstractType
Get the component of a referenced type.
absSeqComponents :: AbstractType -> [AbstractType]
Get the components of a SEQUENCE.
absSeqOfType :: AbstractType -> AbstractType
Get the component of the SEQUENCE OF.
absSetOfType :: AbstractType -> AbstractType
Get the component of the SET OF.
namedTypeAbstract :: NamedType -> AbstractType
unVisibleString :: VisibleString -> String
unDirectoryString :: DirectoryString -> String
unSetOf :: SetOf a -> [a]
Base ASN.1 Type Definitions
absVisibleString :: TypeDefn
absPrintableString :: TypeDefn
absIA5String :: TypeDefn
absInteger :: TypeDefn
absOID :: TypeDefn
absNull :: TypeDefn
absOctetString :: TypeDefn
absBitString :: TypeDefn
Auxilliary ASN.1 Type Definitions
commonName :: TypeDefn
organizationUnitName :: TypeDefn
emailAddress :: TypeDefn
domainComponent :: TypeDefn
Association Table of Types and OIDs
oids :: Map OID TypeDefn
Produced by Haddock version 0.8