hs-tls/core/Network/TLS/Handshake/Signature.hs

27 lines
909 B
Haskell
Raw Normal View History

2012-08-18 22:05:37 +00:00
{-# LANGUAGE OverloadedStrings #-}
2012-08-19 07:48:05 +00:00
-- |
-- Module : Network.TLS.Handshake.Signature
-- License : BSD-style
-- Maintainer : Vincent Hanquez <vincent@snarc.org>
-- Stability : experimental
-- Portability : unknown
--
2012-08-18 22:05:37 +00:00
module Network.TLS.Handshake.Signature
( getHashAndASN1
) where
2012-12-30 15:31:13 +00:00
import Crypto.PubKey.HashDescr
2012-08-18 22:05:37 +00:00
import Network.TLS.Context
import Network.TLS.Struct
import Control.Monad.State
2012-12-30 15:31:13 +00:00
getHashAndASN1 :: MonadIO m => (HashAlgorithm, SignatureAlgorithm) -> m HashDescr
2013-07-12 06:27:28 +00:00
getHashAndASN1 hashSig = case hashSig of
2012-12-31 13:37:19 +00:00
(HashSHA1, SignatureRSA) -> return hashDescrSHA1
2012-12-30 15:31:13 +00:00
(HashSHA224, SignatureRSA) -> return hashDescrSHA224
(HashSHA256, SignatureRSA) -> return hashDescrSHA256
(HashSHA384, SignatureRSA) -> return hashDescrSHA384
(HashSHA512, SignatureRSA) -> return hashDescrSHA512
_ -> throwCore $ Error_Misc "unsupported hash/sig algorithm"