From 43bec1fdf91df5dd603b0f3f2afa8463860759ce Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 20 Mar 2014 10:07:34 +0200 Subject: [PATCH] Move over to cryptohash directly. Pinging @vincenthz, thanks for letting me collapse my dependency tree a bit more! --- mime-mail-ses/Network/Mail/Mime/SES.hs | 14 +++----------- mime-mail-ses/mime-mail-ses.cabal | 6 ++---- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/mime-mail-ses/Network/Mail/Mime/SES.hs b/mime-mail-ses/Network/Mail/Mime/SES.hs index 6a920c0..d32bceb 100644 --- a/mime-mail-ses/Network/Mail/Mime/SES.hs +++ b/mime-mail-ses/Network/Mail/Mime/SES.hs @@ -8,14 +8,13 @@ module Network.Mail.Mime.SES import Control.Exception (Exception, throwIO) import Control.Monad.IO.Class (MonadIO, liftIO) -import Crypto.Hash.CryptoAPI (SHA256) -import Crypto.HMAC +import qualified Crypto.Hash.SHA256 as SHA256 +import Crypto.MAC.HMAC (hmac) import Data.ByteString (ByteString) import Data.ByteString.Base64 (encode) import qualified Data.ByteString.Char8 as S8 import qualified Data.ByteString.Lazy as L import Data.Conduit (Sink, await, ($$), (=$)) -import qualified Data.Serialize as S import Data.Text (Text) import qualified Data.Text as T import Data.Time (getCurrentTime) @@ -123,11 +122,4 @@ data SESException = SESException instance Exception SESException makeSig :: ByteString -> ByteString -> ByteString -makeSig payload key = - encode - $ S.encode - $ hmac' (MacKey key) payload - `asTypeOf` x - where - x :: SHA256 - x = undefined +makeSig payload key = encode $ hmac SHA256.hash 64 key payload diff --git a/mime-mail-ses/mime-mail-ses.cabal b/mime-mail-ses/mime-mail-ses.cabal index 5f04da0..eeb9be9 100644 --- a/mime-mail-ses/mime-mail-ses.cabal +++ b/mime-mail-ses/mime-mail-ses.cabal @@ -1,5 +1,5 @@ Name: mime-mail-ses -Version: 0.2.2 +Version: 0.2.2.1 Synopsis: Send mime-mail messages via Amazon SES Homepage: http://github.com/snoyberg/mime-mail License: MIT @@ -13,8 +13,6 @@ Cabal-version: >=1.6 Library Exposed-modules: Network.Mail.Mime.SES Build-depends: base >= 4 && < 5 - , crypto-api >= 0.6 - , cereal >= 0.3 , base64-bytestring >= 0.1 , bytestring >= 0.9 , time >= 1.1 @@ -24,9 +22,9 @@ Library , mime-mail >= 0.3 , transformers >= 0.2 , http-types >= 0.6.8 - , cryptohash-cryptoapi , xml-conduit , xml-types , text , conduit + , cryptohash >= 0.7.3 ghc-options: -Wall