1-- |
2-- Module      : Network.TLS.Crypto.Types
3-- License     : BSD-style
4-- Maintainer  : Kazu Yamamoto <kazu@iij.ad.jp>
5-- Stability   : experimental
6-- Portability : unknown
7--
8module Network.TLS.Crypto.Types where
9
10data Group = P256 | P384 | P521 | X25519 | X448
11           | FFDHE2048 | FFDHE3072 | FFDHE4096 | FFDHE6144 | FFDHE8192
12           deriving (Eq, Show)
13
14availableFFGroups :: [Group]
15availableFFGroups = [FFDHE2048,FFDHE3072,FFDHE4096,FFDHE6144,FFDHE8192]
16
17availableECGroups :: [Group]
18availableECGroups = [P256,P384,P521,X25519,X448]
19
20-- Key-exchange signature algorithm, in close relation to ciphers
21-- (before TLS 1.3).
22data KeyExchangeSignatureAlg = KX_RSA | KX_DSS | KX_ECDSA
23                      deriving (Show, Eq)
24