quic-0.1.0: Network/QUIC/Crypto/Types.hs
module Network.QUIC.Crypto.Types (
-- * Types
PlainText
, CipherText
, Key(..)
, IV(..)
, CID
, Secret(..)
, AssDat(..)
, Sample(..)
, Mask(..)
, Nonce(..)
, Salt
, Label(..)
, Cipher
, InitialSecret
, TrafficSecrets
, ClientTrafficSecret(..)
, ServerTrafficSecret(..)
) where
import qualified Data.ByteString.Char8 as C8
import Network.TLS hiding (Version)
import Network.TLS.QUIC
import Network.QUIC.Imports
import Network.QUIC.Types
----------------------------------------------------------------
type PlainText = ByteString
type CipherText = ByteString
type Salt = ByteString
newtype Key = Key ByteString deriving (Eq)
newtype IV = IV ByteString deriving (Eq)
newtype Secret = Secret ByteString deriving (Eq)
newtype AssDat = AssDat ByteString deriving (Eq)
newtype Sample = Sample ByteString deriving (Eq)
newtype Mask = Mask ByteString deriving (Eq)
newtype Label = Label ByteString deriving (Eq)
newtype Nonce = Nonce ByteString deriving (Eq)
instance Show Key where
show (Key x) = "Key=" ++ C8.unpack (enc16 x)
instance Show IV where
show (IV x) = "IV=" ++ C8.unpack (enc16 x)
instance Show Secret where
show (Secret x) = "Secret=" ++ C8.unpack (enc16 x)
instance Show AssDat where
show (AssDat x) = "AssDat=" ++ C8.unpack (enc16 x)
instance Show Sample where
show (Sample x) = "Sample=" ++ C8.unpack (enc16 x)
instance Show Mask where
show (Mask x) = "Mask=" ++ C8.unpack (enc16 x)
instance Show Label where
show (Label x) = "Label=" ++ C8.unpack (enc16 x)
instance Show Nonce where
show (Nonce x) = "Nonce=" ++ C8.unpack (enc16 x)
data InitialSecret