summaryrefslogtreecommitdiff
path: root/src/Erebos/PubKey.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Erebos/PubKey.hs')
-rw-r--r--src/Erebos/PubKey.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Erebos/PubKey.hs b/src/Erebos/PubKey.hs
index 09a8e02..a2ee519 100644
--- a/src/Erebos/PubKey.hs
+++ b/src/Erebos/PubKey.hs
@@ -11,7 +11,6 @@ module Erebos.PubKey (
) where
import Control.Monad
-import Control.Monad.Except
import Crypto.Error
import qualified Crypto.PubKey.Ed25519 as ED
@@ -21,7 +20,7 @@ import Data.ByteArray
import Data.ByteString (ByteString)
import qualified Data.Text as T
-import Erebos.Storage
+import Erebos.Storable
import Erebos.Storage.Key
data PublicKey = PublicKey ED.PublicKey
@@ -70,7 +69,7 @@ instance Storable PublicKey where
load' = loadRec $ do
ktype <- loadText "type"
guard $ ktype == "ed25519"
- maybe (throwError "Public key decoding failed") (return . PublicKey) .
+ maybe (throwOtherError "public key decoding failed") (return . PublicKey) .
maybeCryptoError . (ED.publicKey :: ByteString -> CryptoFailable ED.PublicKey) =<<
loadBinary "pubkey"
@@ -82,7 +81,7 @@ instance Storable Signature where
load' = loadRec $ Signature
<$> loadRef "key"
<*> loadSignature "sig"
- where loadSignature = maybe (throwError "Signature decoding failed") return .
+ where loadSignature = maybe (throwOtherError "signature decoding failed") return .
maybeCryptoError . (ED.signature :: ByteString -> CryptoFailable ED.Signature) <=< loadBinary
instance Storable a => Storable (Signed a) where
@@ -96,7 +95,7 @@ instance Storable a => Storable (Signed a) where
forM_ sigs $ \sig -> do
let PublicKey pubkey = fromStored $ sigKey $ fromStored sig
when (not $ ED.verify pubkey (storedRef sdata) $ sigSignature $ fromStored sig) $
- throwError "signature verification failed"
+ throwOtherError "signature verification failed"
return $ Signed sdata sigs
sign :: MonadStorage m => SecretKey -> Stored a -> m (Signed a)
@@ -148,7 +147,7 @@ instance Storable PublicKexKey where
load' = loadRec $ do
ktype <- loadText "type"
guard $ ktype == "x25519"
- maybe (throwError "public key decoding failed") (return . PublicKexKey) .
+ maybe (throwOtherError "public key decoding failed") (return . PublicKexKey) .
maybeCryptoError . (CX.publicKey :: ScrubbedBytes -> CryptoFailable CX.PublicKey) =<<
loadBinary "pubkey"