An interface to asymmetric cipher keypair.
- class PKey k
- class (Eq k, Typeable k, PKey k) => PublicKey k where
- fromPublicKey :: k -> SomePublicKey
- toPublicKey :: SomePublicKey -> Maybe k
- class PublicKey a => KeyPair a where
- fromKeyPair :: a -> SomeKeyPair
- toKeyPair :: SomeKeyPair -> Maybe a
- data SomePublicKey
- data SomeKeyPair
Documentation
class (Eq k, Typeable k, PKey k) => PublicKey k whereSource
Instances of this class has at least public portion of a keypair. They might or might not have the private key.
fromPublicKey :: k -> SomePublicKeySource
Wrap an arbitrary public key into polymorphic type
SomePublicKey
.
toPublicKey :: SomePublicKey -> Maybe kSource
Cast from the polymorphic type SomePublicKey
to the concrete
type. Return Nothing
if failed.
class PublicKey a => KeyPair a whereSource
Instances of this class has both of public and private portions of a keypair.
fromKeyPair :: a -> SomeKeyPairSource
Wrap an arbitrary keypair into polymorphic type SomeKeyPair
.
toKeyPair :: SomeKeyPair -> Maybe aSource
Cast from the polymorphic type SomeKeyPair
to the concrete
type. Return Nothing
if failed.
data SomePublicKey Source
This is an opaque type to hold an arbitrary public key in it. The
actual key type can be safelly type-casted using toPublicKey
.
data SomeKeyPair Source
This is an opaque type to hold an arbitrary keypair in it. The
actual key type can be safelly type-casted using toKeyPair
.