License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | Stable |
Portability | Excellent |
Safe Haskell | None |
Language | Haskell2010 |
Crypto.Error
Description
Synopsis
- throwCryptoError :: CryptoFailable a -> a
- data CryptoError
- = CryptoError_KeySizeInvalid
- | CryptoError_IvSizeInvalid
- | CryptoError_SeedSizeInvalid
- | CryptoError_AEADModeNotSupported
- | CryptoError_SecretKeySizeInvalid
- | CryptoError_SecretKeyStructureInvalid
- | CryptoError_PublicKeySizeInvalid
- | CryptoError_SharedSecretSizeInvalid
- | CryptoError_EcScalarOutOfBounds
- | CryptoError_PointSizeInvalid
- | CryptoError_PointFormatInvalid
- | CryptoError_PointFormatUnsupported
- | CryptoError_PointCoordinatesInvalid
- | CryptoError_ScalarMultiplicationInvalid
- | CryptoError_MacKeyInvalid
- | CryptoError_AuthenticationTagSizeInvalid
- | CryptoError_PrimeSizeInvalid
- | CryptoError_SaltTooSmall
- | CryptoError_OutputLengthTooSmall
- | CryptoError_OutputLengthTooBig
- data CryptoFailable a
- throwCryptoErrorIO :: CryptoFailable a -> IO a
- onCryptoFailure :: (CryptoError -> r) -> (a -> r) -> CryptoFailable a -> r
- eitherCryptoError :: CryptoFailable a -> Either CryptoError a
- maybeCryptoError :: CryptoFailable a -> Maybe a
Documentation
throwCryptoError :: CryptoFailable a -> a Source #
Same as throwCryptoErrorIO
but throw the error asynchronously.
data CryptoError Source #
Enumeration of all possible errors that can be found in this library
Constructors
Instances
Data CryptoError Source # | |
Defined in Crypto.Error.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CryptoError -> c CryptoError gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CryptoError toConstr :: CryptoError -> Constr dataTypeOf :: CryptoError -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CryptoError) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CryptoError) gmapT :: (forall b. Data b => b -> b) -> CryptoError -> CryptoError gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CryptoError -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CryptoError -> r gmapQ :: (forall d. Data d => d -> u) -> CryptoError -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CryptoError -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError | |
Enum CryptoError Source # | |
Defined in Crypto.Error.Types Methods succ :: CryptoError -> CryptoError pred :: CryptoError -> CryptoError toEnum :: Int -> CryptoError fromEnum :: CryptoError -> Int enumFrom :: CryptoError -> [CryptoError] enumFromThen :: CryptoError -> CryptoError -> [CryptoError] enumFromTo :: CryptoError -> CryptoError -> [CryptoError] enumFromThenTo :: CryptoError -> CryptoError -> CryptoError -> [CryptoError] | |
Exception CryptoError Source # | |
Defined in Crypto.Error.Types Methods toException :: CryptoError -> SomeException fromException :: SomeException -> Maybe CryptoError displayException :: CryptoError -> String | |
Show CryptoError Source # | |
Defined in Crypto.Error.Types Methods showsPrec :: Int -> CryptoError -> ShowS show :: CryptoError -> String showList :: [CryptoError] -> ShowS | |
Eq CryptoError Source # | |
Defined in Crypto.Error.Types |
data CryptoFailable a Source #
A simple Either like type to represent a computation that can fail
2 possibles values are:
CryptoPassed
: The computation succeeded, and contains the result of the computationCryptoFailed
: The computation failed, and contains the cryptographic error associated
Constructors
CryptoPassed a | |
CryptoFailed CryptoError |
Instances
throwCryptoErrorIO :: CryptoFailable a -> IO a Source #
Throw an CryptoError as exception on CryptoFailed result, otherwise return the computed value
onCryptoFailure :: (CryptoError -> r) -> (a -> r) -> CryptoFailable a -> r Source #
Simple either
like combinator for CryptoFailable type
eitherCryptoError :: CryptoFailable a -> Either CryptoError a Source #
Transform a CryptoFailable to an Either
maybeCryptoError :: CryptoFailable a -> Maybe a Source #
Transform a CryptoFailable to a Maybe