module Network.TLS
(
ClientParams(..)
, HostName
, Bytes
, ServerParams(..)
, DebugParams(..)
, DHParams
, ClientHooks(..)
, ServerHooks(..)
, Supported(..)
, Shared(..)
, Hooks(..)
, Handshake
, Logging(..)
, Measurement(..)
, CertificateUsage(..)
, CertificateRejectReason(..)
, defaultParamsClient
, MaxFragmentEnum(..)
, HashAndSignatureAlgorithm
, HashAlgorithm(..)
, SignatureAlgorithm(..)
, CertificateType(..)
, ProtocolType(..)
, Header(..)
, SessionID
, SessionData(..)
, SessionManager(..)
, noSessionManager
, Backend(..)
, Context
, ctxConnection
, TLSParams
, HasBackend(..)
, contextNew
, contextNewOnHandle
#ifdef INCLUDE_NETWORK
, contextNewOnSocket
#endif
, contextFlush
, contextClose
, contextHookSetHandshakeRecv
, contextHookSetCertificateRecv
, contextHookSetLogging
, contextModifyHooks
, Information(..)
, ClientRandom
, ServerRandom
, unClientRandom
, unServerRandom
, contextGetInformation
, Credentials(..)
, Credential
, credentialLoadX509
, credentialLoadX509FromMemory
, credentialLoadX509Chain
, credentialLoadX509ChainFromMemory
, bye
, handshake
, getNegotiatedProtocol
, getClientSNI
, sendData
, recvData
, recvData'
, PubKey(..)
, PrivKey(..)
, module Network.TLS.Compression
, module Network.TLS.Cipher
, Version(..)
, TLSError(..)
, KxError(..)
, AlertDescription(..)
, TLSException(..)
, ValidationChecks(..)
, ValidationHooks(..)
, ValidationCache(..)
, ValidationCacheResult(..)
, exceptionValidationCache
, Group(..)
) 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, 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 Data.X509 (PubKey(..), PrivKey(..))
import Data.X509.Validation
import Data.ByteString as B
type Bytes = B.ByteString