packages feed

crypto-srp-0.1.0.2: crypto-srp.cabal

cabal-version: 3.0
name:          crypto-srp
version:       0.1.0.2
synopsis:      SRP authentication primitives
description:
  A library providing primitives for the
  [Secure Remote Password (SRP)](https://datatracker.ietf.org/doc/html/rfc5054) protocol.

  It includes the core SRP computation — public key exchange, premaster secret
  derivation, client\/server proof generation and verification — along with the
  standard prime groups from RFC 5054 Appendix A, a hash algorithm abstraction
  covering SHA1, SHA256, SHA384 and SHA512, and cryptographically random
  private key generation.

license:       BSD-3-Clause
license-file:  LICENSE
author:        Tim Emiola
maintainer:    adetokunbo@emio.la
homepage:      https://github.com/adetokunbo/crypto-srp#readme
bug-reports:   https://github.com/adetokunbo/crypto-srp/issues
category:      Cryptography
tested-with:
  GHC == 8.10.7
  GHC == 9.0.2
  GHC == 9.2.8
  GHC == 9.4.8
  GHC == 9.6
  GHC == 9.8
  GHC == 9.10
  GHC == 9.12
extra-doc-files:
  README.md
  ChangeLog.md
data-files:
  test/pysrp_server.py

source-repository head
  type:     git
  location: https://github.com/adetokunbo/crypto-srp.git

flag pysrp
  description: Enable pysrp compatibility tests (requires Python 3 with srp package)
  default:     False
  manual:      True

library
  exposed-modules:  Crypto.SRP
                    Crypto.SRP.Constants
                    Crypto.SRP.Hashing
                    Crypto.SRP.PrimeGroup
                    Crypto.SRP.Random
  hs-source-dirs:   src
  build-depends:
      base                 >= 4.12 && < 5
    , bytestring           >=0.10.8 && <0.11 || >=0.11.3 && <0.13
    , cryptohash-sha1      >= 0.11 && < 0.12
    , cryptohash-sha256    >= 0.11 && < 0.12
    , cryptohash-sha512    >= 0.11 && < 0.12
    , entropy              >= 0.3.7 && < 0.5
    , fmt                  >= 0.6.3 && < 0.8
    , text                 >= 1.2.3 && < 2.2
    , unicode-transforms   >= 0.3 && < 0.5
  default-language: Haskell2010
  ghc-options:      -Wall -Wincomplete-uni-patterns -Wpartial-fields -fwarn-tabs

test-suite test
  type:             exitcode-stdio-1.0
  main-is:          Spec.hs
  hs-source-dirs:   test
  other-modules:    Crypto.SRPSpec
  default-language: Haskell2010
  ghc-options:      -threaded -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs
  build-depends:
      base
    , bytestring
    , crypto-srp
    , fmt
    , hspec       >= 2.1 && < 3.0
    , QuickCheck  >= 2.13 && < 2.18

test-suite pysrp-compat
  if !flag(pysrp)
    buildable: False
  type:             exitcode-stdio-1.0
  main-is:          PysrpSpec.hs
  hs-source-dirs:   test
  autogen-modules:  Paths_crypto_srp
  other-modules:    Crypto.PysrpCompatSpec
                    Paths_crypto_srp
  default-language: Haskell2010
  ghc-options:      -threaded -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs
  build-depends:
      base
    , bytestring
    , crypto-srp
    , hspec    >= 2.1 && < 3.0
    , process  >= 1.6 && < 1.7
    , text     >= 1.2.3 && < 2.2