Safe Haskell | None |
---|---|
Language | Haskell2010 |
Support for making connections via the OpenSSL library.
Synopsis
- withOpenSSL :: IO a -> IO a
- newOpenSSLManager :: MonadIO m => m Manager
- opensslManagerSettings :: IO SSLContext -> ManagerSettings
- defaultMakeContext :: OpenSSLSettings -> IO SSLContext
- data OpenSSLSettings = OpenSSLSettings {}
- defaultOpenSSLSettings :: OpenSSLSettings
Documentation
withOpenSSL :: IO a -> IO a #
Computation of
initializes the OpenSSL
library as necessary, and computes withOpenSSL
actionaction
. Every application that
uses HsOpenSSL must wrap any operations involving OpenSSL with
withOpenSSL
, or they might crash:
module Main where import OpenSSL main :: IO () main = withOpenSSL $ do ...
Since 0.10.3.5, withOpenSSL
is safe to be applied
redundantly. Library authors may wish to wrap their functions not
to force their users to think about initialization:
get :: URI -> IO Response get uri = withOpenSSL $ internalImplementationOfGet uri
newOpenSSLManager :: MonadIO m => m Manager Source #
Create a new Manager
using opensslManagerSettings
and defaultMakeContext
with defaultOpenSSLSettings
.
opensslManagerSettings :: IO SSLContext -> ManagerSettings Source #
Note that it is the caller's responsibility to pass in an appropriate context.
data OpenSSLSettings Source #
defaultOpenSSLSettings :: OpenSSLSettings Source #
Default OpenSSL settings. In particular:
- SSLv2 and SSLv3 are disabled
- Hostname validation
DEFAULT
cipher list- Certificates loaded from OS-specific store
Note that these settings might change in the future.