hs-tls/core/Network/TLS.hs
2013-07-10 07:10:01 +01:00

101 lines
2.2 KiB
Haskell

-- |
-- Module : Network.TLS
-- License : BSD-style
-- Maintainer : Vincent Hanquez <vincent@snarc.org>
-- Stability : experimental
-- Portability : unknown
--
module Network.TLS
(
-- * Context configuration
Params(..)
, RoleParams(..)
, ClientParams(..)
, ServerParams(..)
, updateClientParams
, updateServerParams
, Logging(..)
, Measurement(..)
, CertificateUsage(..)
, CertificateRejectReason(..)
, defaultParamsClient
, defaultParamsServer
, defaultLogging
, MaxFragmentEnum(..)
, HashAndSignatureAlgorithm
, HashAlgorithm(..)
, SignatureAlgorithm(..)
, CertificateType(..)
-- * raw types
, ProtocolType(..)
, Header(..)
-- * Session
, SessionID
, SessionData(..)
, SessionManager(..)
, noSessionManager
, setSessionManager
-- * Backend abstraction
, Backend(..)
-- * Context object
, Context
, ctxConnection
-- * Creating a context
, contextNew
, contextNewOnHandle
, contextFlush
, contextClose
, contextHookSetHandshakeRecv
-- * deprecated values
, defaultParams
-- * Initialisation and Termination of context
, bye
, handshake
-- * Next Protocol Negotiation
, getNegotiatedProtocol
-- * High level API
, sendData
, recvData
, recvData'
-- * Crypto Key
, PubKey(..)
, PrivKey(..)
-- * Compressions & Predefined compressions
, module Network.TLS.Compression
-- * Ciphers & Predefined ciphers
, module Network.TLS.Cipher
-- * Versions
, Version(..)
-- * Errors
, TLSError(..)
, KxError(..)
, AlertDescription(..)
-- * Exceptions
, Terminated(..)
, HandshakeFailed(..)
, ConnectionNotEstablished(..)
) where
import Network.TLS.Struct (Version(..), TLSError(..), HashAndSignatureAlgorithm, HashAlgorithm(..), SignatureAlgorithm(..), Header(..), ProtocolType(..), CertificateType(..), AlertDescription(..))
import Network.TLS.Crypto (KxError(..))
import Network.TLS.Cipher
import Network.TLS.Compression (CompressionC(..), Compression(..), nullCompression)
import Network.TLS.Context
import Network.TLS.Core
import Network.TLS.Session
import Data.X509 (PubKey(..), PrivKey(..))