change ServerDHParams to re-use the DH abstraction in Crypto.DH.
This commit is contained in:
parent
1e62ddd53f
commit
6d63cde8cb
2 changed files with 9 additions and 10 deletions
|
@ -453,13 +453,14 @@ putSignatureHashAlgorithm (h,s) =
|
|||
putWord8 (valOfType h) >> putWord8 (valOfType s)
|
||||
|
||||
getServerDHParams :: Get ServerDHParams
|
||||
getServerDHParams = ServerDHParams <$> getInteger16 -- p
|
||||
getServerDHParams = ServerDHParams <$> getDHParams <*> getDHPublic
|
||||
where getDHParams = dhParams <$> getInteger16 -- p
|
||||
<*> getInteger16 -- g
|
||||
<*> getInteger16 -- Ys
|
||||
getDHPublic = dhPublic <$> getInteger16 -- y(server)
|
||||
|
||||
putServerDHParams :: ServerDHParams -> Put
|
||||
putServerDHParams (ServerDHParams p g y) =
|
||||
mapM_ putInteger16 [p,g,y]
|
||||
putServerDHParams (ServerDHParams dhparams dhpub) =
|
||||
mapM_ putInteger16 $ dhUnwrap dhparams dhpub
|
||||
|
||||
getDigitallySigned :: Version -> Get DigitallySigned
|
||||
getDigitallySigned ver
|
||||
|
|
|
@ -59,6 +59,7 @@ import Data.Typeable
|
|||
import Control.Monad.Error (Error(..))
|
||||
import Control.Exception (Exception(..))
|
||||
import Network.TLS.Types
|
||||
import Network.TLS.Crypto.DH
|
||||
|
||||
type Bytes = ByteString
|
||||
|
||||
|
@ -222,11 +223,8 @@ data HandshakeType =
|
|||
| HandshakeType_NPN -- Next Protocol Negotiation extension
|
||||
deriving (Show,Eq)
|
||||
|
||||
data ServerDHParams = ServerDHParams
|
||||
{ dh_p :: Integer -- ^ prime modulus
|
||||
, dh_g :: Integer -- ^ generator
|
||||
, dh_Ys :: Integer -- ^ public value (g^X mod p)
|
||||
} deriving (Show,Eq)
|
||||
data ServerDHParams = ServerDHParams DHParams {- (p,g) -} DHPublic {- y -}
|
||||
deriving (Show,Eq)
|
||||
|
||||
data ServerRSAParams = ServerRSAParams
|
||||
{ rsa_modulus :: Integer
|
||||
|
|
Loading…
Reference in a new issue