HsOpenSSL-0.11.7.6: Partial OpenSSL binding for Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenSSL.EVP.PKey

Description

An interface to asymmetric cipher keypair.

Synopsis

Documentation

class (Eq k, Typeable k, PKey k) => PublicKey k where Source #

Instances of this class has at least public portion of a keypair. They might or might not have the private key.

Minimal complete definition

Nothing

Methods

fromPublicKey :: k -> SomePublicKey Source #

Wrap an arbitrary public key into polymorphic type SomePublicKey.

toPublicKey :: SomePublicKey -> Maybe k Source #

Cast from the polymorphic type SomePublicKey to the concrete type. Return Nothing if failed.

class PublicKey a => KeyPair a where Source #

Instances of this class has both of public and private portions of a keypair.

Minimal complete definition

Nothing

Methods

fromKeyPair :: a -> SomeKeyPair Source #

Wrap an arbitrary keypair into polymorphic type SomeKeyPair.

toKeyPair :: SomeKeyPair -> Maybe a Source #

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.

Instances

Instances details
PKey SomeKeyPair Source # 
Instance details

Defined in OpenSSL.EVP.PKey

KeyPair SomeKeyPair Source # 
Instance details

Defined in OpenSSL.EVP.PKey

PublicKey SomeKeyPair Source # 
Instance details

Defined in OpenSSL.EVP.PKey

Eq SomeKeyPair Source # 
Instance details

Defined in OpenSSL.EVP.PKey

Methods

(==) :: SomeKeyPair -> SomeKeyPair -> Bool

(/=) :: SomeKeyPair -> SomeKeyPair -> Bool

Orphan instances