-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | create temporary SSL certificates in tests
--
-- Its functions generate the certificates as files in a temporary
-- directory.
--
--
-- - Note: this package depends on HsOpenSSL.
-- - It expects the openssl system libraries to be available on your
-- system, this is usually the case on most modern linux
-- distributions.
--
--
-- See README for a usage example.
@package test-certs
@version 0.1.0.0
-- | Enables configuration and generation of temporary certificates
module Test.Certs.Temp
-- | Create certificates in a temporary directory below parentDir,
-- specify the locations using CertPaths, use them, then delete
-- them
withCertPaths :: FilePath -> Config -> (CertPaths -> IO a) -> IO a
-- | Like withCertPaths, but allows the CertPath filenames
-- to be specified
withCertFilenames :: (FilePath -> CertPaths) -> FilePath -> Config -> (CertPaths -> IO a) -> IO a
-- | Like withCertPaths with the system TEMP dir as the
-- parentDir
withCertPathsInTmp :: Config -> (CertPaths -> IO a) -> IO a
-- | Like withCertPathsInTmp using a default Config
withCertPathsInTmp' :: (CertPaths -> IO a) -> IO a
-- | Generate and store certificate files as specified as
-- CertPaths
generateAndStore :: CertPaths -> Config -> IO ()
-- | Configure some details of the generated certificates
data Config
Config :: !Text -> !Natural -> !Maybe Text -> !Maybe Text -> !Maybe Text -> !Maybe Text -> Config
-- | the certificate common name
[cCommonName] :: Config -> !Text
-- | the certificate's duration in days
[cDurationDays] :: Config -> !Natural
[cProvince] :: Config -> !Maybe Text
[cCity] :: Config -> !Maybe Text
[cOrganization] :: Config -> !Maybe Text
[cCountry] :: Config -> !Maybe Text
-- | A default value for Config: CN=localhost, duration is
-- 365 days.
defaultConfig :: Config
-- | Specifies the location to write the temporary certificates
data CertPaths
CertPaths :: !FilePath -> !FilePath -> !FilePath -> CertPaths
-- | the basename of the private key file
[cpKey] :: CertPaths -> !FilePath
-- | the basename of the certificate file
[cpCert] :: CertPaths -> !FilePath
-- | the directory containing the certificate files
[cpDir] :: CertPaths -> !FilePath
-- | The path of the generated key file
keyPath :: CertPaths -> FilePath
-- | The path of the generated certificate file
certificatePath :: CertPaths -> FilePath
instance GHC.Show.Show Test.Certs.Temp.CertPaths
instance GHC.Classes.Eq Test.Certs.Temp.CertPaths
instance GHC.Show.Show Test.Certs.Temp.Config
instance GHC.Classes.Eq Test.Certs.Temp.Config