tls-0.3.1: TLS/SSL protocol native implementation (Server and Client)ContentsIndex
Network.TLS.Server
Portabilityunknown
Stabilityexperimental
MaintainerVincent Hanquez <vincent@snarc.org>
Contents
low level packet sending receiving.
API, warning probably subject to change
Description
the Server module contains the necessary calls to create a listening TLS socket aka. a server socket.
Synopsis
data TLSServerParams = TLSServerParams {
spAllowedVersions :: [Version]
spSessions :: [[Word8]]
spCiphers :: [Cipher]
spCertificate :: Maybe TLSServerCert
spWantClientCert :: Bool
spCallbacks :: TLSServerCallbacks
}
data TLSServerCallbacks = TLSServerCallbacks {
cbCertificates :: Maybe ([Certificate] -> IO Bool)
}
data TLSStateServer
runTLSServer :: TLSServer m a -> TLSServerParams -> SRandomGen -> m (a, TLSStateServer)
recvPacket :: Handle -> TLSServer IO (Either TLSError [Packet])
sendPacket :: Handle -> Packet -> TLSServer IO ()
listen :: Handle -> TLSServer IO ()
sendData :: Handle -> ByteString -> TLSServer IO ()
recvData :: Handle -> TLSServer IO ByteString
close :: Handle -> TLSServer IO ()
Documentation
data TLSServerParams
Constructors
TLSServerParams
spAllowedVersions :: [Version]allowed versions that we can use
spSessions :: [[Word8]]placeholder for futur known sessions
spCiphers :: [Cipher]all ciphers that the server side support
spCertificate :: Maybe TLSServerCertthe certificate we serve to the client
spWantClientCert :: Boolconfigure if we do a cert request to the client
spCallbacks :: TLSServerCallbacksuser callbacks
data TLSServerCallbacks
Constructors
TLSServerCallbacks
cbCertificates :: Maybe ([Certificate] -> IO Bool)optional callback to verify certificates
show/hide Instances
data TLSStateServer
show/hide Instances
Monad m => MonadState TLSStateServer (TLSServer m)
runTLSServer :: TLSServer m a -> TLSServerParams -> SRandomGen -> m (a, TLSStateServer)
low level packet sending receiving.
recvPacket :: Handle -> TLSServer IO (Either TLSError [Packet])
receive a single TLS packet or on error a TLSError
sendPacket :: Handle -> Packet -> TLSServer IO ()
send a single TLS packet
API, warning probably subject to change
listen :: Handle -> TLSServer IO ()
listen on a handle to a new TLS connection.
sendData :: Handle -> ByteString -> TLSServer IO ()
sendData sends a bunch of data
recvData :: Handle -> TLSServer IO ByteString
recvData get data out of Data packet, and automatically renegociate if - a Handshake ClientHello is received
close :: Handle -> TLSServer IO ()
close a TLS connection. - note that it doesn't close the handle, but just signal we're going to close - the connection to the other side
Produced by Haddock version 2.7.2