hs-tls/core/Network/TLS.hs

116 lines
2.6 KiB
Haskell
Raw Normal View History

-- |
-- Module : Network.TLS
-- License : BSD-style
-- Maintainer : Vincent Hanquez <vincent@snarc.org>
-- Stability : experimental
-- Portability : unknown
--
module Network.TLS
2012-03-28 07:49:31 +00:00
(
-- * Context configuration
Params(..)
, RoleParams(..)
, ClientParams(..)
, ServerParams(..)
, updateClientParams
, updateServerParams
2012-03-28 07:49:31 +00:00
, Logging(..)
2012-10-21 17:32:07 +00:00
, Measurement(..)
2012-03-28 07:49:31 +00:00
, CertificateUsage(..)
, CertificateRejectReason(..)
, defaultParamsClient
, defaultParamsServer
, defaultLogging
2012-10-21 17:32:07 +00:00
, MaxFragmentEnum(..)
, HashAndSignatureAlgorithm
, HashAlgorithm(..)
, SignatureAlgorithm(..)
, CertificateType(..)
-- * raw types
, ProtocolType(..)
, Header(..)
-- * Session
, SessionID
, SessionData(..)
, SessionManager(..)
, NoSessionManager(..)
, setSessionManager
2012-03-28 07:49:31 +00:00
-- * Backend abstraction
, Backend(..)
2012-03-28 07:49:31 +00:00
-- * Context object
, Context
, ctxConnection
2012-03-28 07:49:31 +00:00
-- * Creating a context
, contextNew
, contextNewOnHandle
, contextFlush
, contextClose
2012-03-28 07:49:31 +00:00
-- * deprecated type aliases
, TLSParams
, TLSLogging
, TLSCertificateUsage
, TLSCertificateRejectReason
, TLSCtx
2012-03-28 07:49:31 +00:00
-- * deprecated values
, defaultParams
2012-03-28 07:49:31 +00:00
-- * Initialisation and Termination of context
, bye
, handshake
2012-03-28 07:49:31 +00:00
-- * Next Protocol Negotiation
, getNegotiatedProtocol
2012-03-28 07:49:31 +00:00
-- * High level API
, sendData
, recvData
, recvData'
2012-03-28 07:49:31 +00:00
-- * Crypto Key
, PrivateKey(..)
2012-10-20 07:56:39 +00:00
2012-03-28 07:49:31 +00:00
-- * Compressions & Predefined compressions
2012-10-21 17:32:07 +00:00
, CompressionID
2012-03-28 07:49:31 +00:00
, CompressionC(..)
, Compression(..)
, nullCompression
2012-10-20 07:56:39 +00:00
2012-03-28 07:49:31 +00:00
-- * Ciphers & Predefined ciphers
2012-10-21 17:32:07 +00:00
, CipherID
2012-03-28 07:49:31 +00:00
, Cipher(..)
2012-10-21 17:32:07 +00:00
, Hash(..)
2012-03-28 07:49:31 +00:00
, Bulk(..)
2012-10-21 17:32:07 +00:00
, BulkFunctions(..)
, CipherKeyExchangeType(..)
, Key
, IV
2012-10-20 07:56:39 +00:00
2012-03-28 07:49:31 +00:00
-- * Versions
, Version(..)
2012-10-20 07:56:39 +00:00
2012-03-28 07:49:31 +00:00
-- * Errors
, TLSError(..)
2012-10-21 17:32:07 +00:00
, KxError(..)
, AlertDescription(..)
2012-10-20 07:56:39 +00:00
2012-03-28 07:49:31 +00:00
-- * Exceptions
, HandshakeFailed(..)
, ConnectionNotEstablished(..)
) where
2012-10-21 17:32:07 +00:00
import Network.TLS.Types (CompressionID, CipherID)
import Network.TLS.Struct (Version(..), TLSError(..), HashAndSignatureAlgorithm, HashAlgorithm(..), SignatureAlgorithm(..), Header(..), ProtocolType(..), CertificateType(..), AlertDescription(..))
import Network.TLS.Crypto (PrivateKey(..), KxError(..))
import Network.TLS.Cipher (Cipher(..), Bulk(..), BulkFunctions(..), Hash(..), CipherKeyExchangeType(..), Key, IV)
import Network.TLS.Compression (CompressionC(..), Compression(..), nullCompression)
import Network.TLS.Context
import Network.TLS.Core
import Network.TLS.Session