{-# LANGUAGE CPP #-}
module Network.TLS
(
Context
, contextNew
, handshake
, sendData
, recvData
, bye
, HasBackend(..)
, Backend(..)
, TLSParams
, ClientParams(..)
, defaultParamsClient
, ServerParams(..)
, Supported(..)
, Shared(..)
, DebugParams(..)
, ClientHooks(..)
, OnCertificateRequest
, OnServerCertificate
, ServerHooks(..)
, Credentials(..)
, Credential
, credentialLoadX509
, credentialLoadX509FromMemory
, credentialLoadX509Chain
, credentialLoadX509ChainFromMemory
, SessionID
, SessionData(..)
, SessionManager(..)
, noSessionManager
, TLS13TicketInfo
, Hooks(..)
, Handshake
, Logging(..)
, contextHookSetHandshakeRecv
, contextHookSetHandshake13Recv
, contextHookSetCertificateRecv
, contextHookSetLogging
, contextModifyHooks
, HostName
, DHParams
, DHPublic
, Measurement(..)
, GroupUsage(..)
, CertificateUsage(..)
, CertificateRejectReason(..)
, MaxFragmentEnum(..)
, HashAndSignatureAlgorithm
, HashAlgorithm(..)
, SignatureAlgorithm(..)
, CertificateType(..)
, ValidationChecks(..)
, ValidationHooks(..)
, ValidationCache(..)
, ValidationCacheResult(..)
, exceptionValidationCache
, ctxConnection
, contextFlush
, contextClose
, Information(..)
, contextGetInformation
, ClientRandom
, ServerRandom
, unClientRandom
, unServerRandom
, getNegotiatedProtocol
, getClientSNI
, updateKey
, KeyUpdateRequest(..)
, requestCertificate
, ProtocolType(..)
, Header(..)
, Version(..)
, module Network.TLS.Compression
, CompressionID
, module Network.TLS.Cipher
, PubKey(..)
, PrivKey(..)
, Group(..)
, HandshakeMode13(..)
, TLSError(..)
, KxError(..)
, AlertDescription(..)
, TLSException(..)
, recvData'
, contextNewOnHandle
#ifdef INCLUDE_NETWORK
, contextNewOnSocket
#endif
, Bytes
) where
import Network.TLS.Backend (Backend(..), HasBackend(..))
import Network.TLS.Struct ( TLSError(..), TLSException(..)
, HashAndSignatureAlgorithm, HashAlgorithm(..), SignatureAlgorithm(..)
, Header(..), ProtocolType(..), CertificateType(..)
, AlertDescription(..)
, ClientRandom(..), ServerRandom(..)
, Handshake)
import Network.TLS.Crypto (KxError(..), DHParams, DHPublic, Group(..))
import Network.TLS.Cipher
import Network.TLS.Hooks
import Network.TLS.Measurement
import Network.TLS.Credentials
import Network.TLS.Compression (CompressionC(..), Compression(..), nullCompression)
import Network.TLS.Context
import Network.TLS.Parameters
import Network.TLS.Core
import Network.TLS.Session
import Network.TLS.X509
import Network.TLS.Types
import Network.TLS.Handshake.State (HandshakeMode13(..))
import Data.X509 (PubKey(..), PrivKey(..))
import Data.X509.Validation hiding (HostName)
import Data.ByteString as B
{-# DEPRECATED Bytes "Use Data.ByteString.Bytestring instead of Bytes." #-}
type Bytes = B.ByteString