summaryrefslogtreecommitdiff
path: root/Types/Crypto.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types/Crypto.hs')
-rw-r--r--Types/Crypto.hs27
1 files changed, 2 insertions, 25 deletions
diff --git a/Types/Crypto.hs b/Types/Crypto.hs
index 682629d6a..79970c288 100644
--- a/Types/Crypto.hs
+++ b/Types/Crypto.hs
@@ -1,6 +1,6 @@
{- git-annex crypto types
-
- - Copyright 2011-2012 Joey Hess <id@joeyh.name>
+ - Copyright 2011-2015 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@@ -17,9 +17,7 @@ module Types.Crypto (
calcMac,
) where
-import qualified Data.ByteString.Lazy as L
-import Data.Digest.Pure.SHA
-
+import Utility.Hash
import Utility.Gpg (KeyIds(..))
-- XXX ideally, this would be a locked memory region
@@ -31,13 +29,6 @@ data StorableCipher = EncryptedCipher String EncryptedCipherVariant KeyIds
data EncryptedCipherVariant = Hybrid | PubKey
deriving (Ord, Eq)
-{- File names are (client-side) MAC'ed on special remotes.
- - The chosen MAC algorithm needs to be same for all files stored on the
- - remote.
- -}
-data Mac = HmacSha1 | HmacSha224 | HmacSha256 | HmacSha384 | HmacSha512
- deriving (Eq)
-
defaultMac :: Mac
defaultMac = HmacSha1
@@ -57,17 +48,3 @@ readMac "HMACSHA256" = Just HmacSha256
readMac "HMACSHA384" = Just HmacSha384
readMac "HMACSHA512" = Just HmacSha512
readMac _ = Nothing
-
-calcMac
- :: Mac -- ^ MAC
- -> L.ByteString -- ^ secret key
- -> L.ByteString -- ^ message
- -> String -- ^ MAC'ed message, in hexadecimal
-calcMac mac = case mac of
- HmacSha1 -> showDigest $* hmacSha1
- HmacSha224 -> showDigest $* hmacSha224
- HmacSha256 -> showDigest $* hmacSha256
- HmacSha384 -> showDigest $* hmacSha384
- HmacSha512 -> showDigest $* hmacSha512
- where
- ($*) g f x y = g $ f x y