packages feed

acme-not-a-joke-0.2.0.0: acme-not-a-joke.cabal

cabal-version:      2.4
name:               acme-not-a-joke
version:            0.2.0.0

-- A short (one-line) description of the package.
synopsis: implements ACME clients (rfc-8555)

-- A longer description of the package.
description: a library to get TLS certificates by communicating with an ACME provider such as Let's Encrypt (rfc-8555). It creates accounts and orders, validates them with HTTP-01, DNS-01 or TLS-ALPN-01 (rfc-8737) challenges, downloads certificates, and handles account key rollover, account deactivation and certificate revocation. It also generates and reads the keys, CSRs and certificates involved. Hence: no, the acme prefix is not a marker for a joke. See acme-not-a-joke-wai and acme-not-a-joke-warp to serve challenges and certificates from a wai/warp application.

-- The license under which the package is released.
license: BSD-3-Clause
license-file: LICENSE
homepage: https://lucasdicioccio.github.io/acme-not-a-joke/
bug-reports: https://github.com/lucasdicioccio/acme-not-a-joke/issues
author:             Lucas DiCioccio
maintainer:         lucas@dicioccio.fr

-- A copyright notice.
copyright: Lucas DiCioccio 2023-2026
category: Security
tested-with: GHC == 9.8.2 || == 9.10.3
extra-doc-files: CHANGELOG.md README.md

source-repository head
    type: git
    location: https://github.com/lucasdicioccio/acme-not-a-joke.git

test-suite pki-formats
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    main-is: Main.hs
    ghc-options: -Wall
    default-language: Haskell2010
    default-extensions: OverloadedStrings
    build-depends:
      acme-not-a-joke,
      aeson,
      base,
      bytestring,
      directory,
      filepath,
      crypton-x509,
      jose,
      lens,
      text,

library
    hs-source-dirs: src
    ghc-options: -Wall -Wwarn=missing-home-modules
    default-language: Haskell2010
    default-extensions: OverloadedStrings DataKinds TypeFamilies TypeOperators FlexibleInstances OverloadedRecordDot
    exposed-modules:
      Acme.NotAJoke.Api.Account
      Acme.NotAJoke.Api.Authorization
      Acme.NotAJoke.Api.Certificate
      Acme.NotAJoke.Api.Challenge
      Acme.NotAJoke.Api.CSR
      Acme.NotAJoke.Api.Directory
      Acme.NotAJoke.Api.Endpoint
      Acme.NotAJoke.Api.Field
      Acme.NotAJoke.Api.JWS
      Acme.NotAJoke.Api.KeyChange
      Acme.NotAJoke.Api.Meta
      Acme.NotAJoke.Api.Nonce
      Acme.NotAJoke.Api.Order
      Acme.NotAJoke.Api.Revocation
      Acme.NotAJoke.Api.Validation
      Acme.NotAJoke.Client
      Acme.NotAJoke.Dancer
      Acme.NotAJoke.LetsEncrypt
      Acme.NotAJoke.KeyManagement
      Acme.NotAJoke.CertManagement
    build-depends:
      aeson >= 2.2.1 && < 2.3,
      base >= 4.19.1 && < 5,
      bytestring >= 0.12.1 && < 0.13,
      filepath >= 1.4.200 && < 1.6,
      text >= 2.1.1 && < 2.2,
      time >= 1.12.2 && < 1.13,
      time-hourglass >= 0.2.12 && < 0.4,
      base16-bytestring >= 1.0.2 && < 1.1,
      directory >= 1.3.8 && < 1.4,
      cryptohash-sha256 >= 0.11.102 && < 0.12,
      crypton >= 1.0 && < 1.1,
      crypton-asn1-encoding >= 0.10 && < 0.11,
      crypton-asn1-types >= 0.4 && < 0.5,
      crypton-pem >= 0.3 && < 0.4,
      crypton-x509 >= 1.8 && < 1.9,
      jose >= 0.11 && < 0.12,
      lens >= 5.2.3 && < 5.4,
      mtl >= 2.3.1 && < 2.4,
      http-client >= 0.7.17 && < 0.8,
      http-client-tls >= 0.3.6 && < 0.4,
      http-types >= 0.12.4 && < 0.13,
      transformers >= 0.6.1 && < 0.7,

test-suite key-change
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    main-is: KeyChange.hs
    ghc-options: -Wall
    default-language: Haskell2010
    default-extensions: OverloadedStrings
    build-depends:
      acme-not-a-joke,
      aeson,
      base,
      bytestring,
      jose,
      lens,
      text,