packages feed

jose-0.5.0.2: jose.cabal

name:                jose
version:             0.5.0.2
synopsis:
  Javascript Object Signing and Encryption and JSON Web Token library
description:
  .
  An implementation of the Javascript Object Signing and Encryption
  (JOSE) and JSON Web Token (JWT; RFC 7519) formats.
  .
  The JSON Web Signature (JWS; RFC 7515) implementation is complete.
  JSON Web Encryption (JWE; RFC 7516) is not yet implemented.
  .
  All JWS algorithms (HMAC, ECDSA, RSASSA-PKCS-v1_5 and RSASSA-PSS)
  are implemented, however, the ECDSA implementation is is
  vulnerable to timing attacks and should therefore only be used for
  JWS verification.
  .
  The 'Crypto.JOSE.Legacy' module is provided for working with the
  Mozilla Persona (formerly BrowserID) key format.  Only RSA keys
  are supported - DSA keys cannot be used and must be handled as
  opaque objects.

homepage:            https://github.com/frasertweedale/hs-jose
bug-reports:         https://github.com/frasertweedale/hs-jose/issues
license:             Apache-2.0
license-file:        LICENSE
extra-source-files:
  README.md
author:              Fraser Tweedale
maintainer:          frase@frase.id.au
copyright:           Copyright (C) 2013, 2014, 2015, 2016  Fraser Tweedale
category:            Cryptography
build-type:          Simple
cabal-version:       >= 1.8

library
  exposed-modules:
    Crypto.JOSE
    Crypto.JOSE.Compact
    Crypto.JOSE.Error
    Crypto.JOSE.Header
    Crypto.JOSE.JWE
    Crypto.JOSE.JWK
    Crypto.JOSE.JWS
    Crypto.JOSE.Legacy
    Crypto.JOSE.Types
    Crypto.JWT

  other-modules:
    Crypto.JOSE.AESKW
    Crypto.JOSE.JWA.JWK
    Crypto.JOSE.JWA.JWS
    Crypto.JOSE.JWA.JWE
    Crypto.JOSE.JWA.JWE.Alg
    Crypto.JOSE.JWS.Internal
    Crypto.JOSE.TH
    Crypto.JOSE.Types.Internal
    Crypto.JOSE.Types.Orphans

  build-depends:
    base == 4.*
    , attoparsec
    , base64-bytestring == 1.0.*
    , byteable == 0.1.*
    , containers >= 0.5
    , cryptonite >= 0.7
    , lens >= 4.3
    , memory >= 0.7
    , monad-time >= 0.1
    , mtl >= 2
    , template-haskell >= 2.4
    , safe >= 0.3
    , aeson >= 0.8.0.1
    , unordered-containers == 0.2.*
    , bytestring == 0.10.*
    , text >= 1.1
    , time >= 1.5
    , network-uri >= 2.6
    , QuickCheck >= 2
    , quickcheck-instances
    , x509 >= 1.4
    , vector

  if impl(ghc < 7.10)
    build-depends:
        bifunctors >= 4.0
  if impl(ghc < 8)
    build-depends:
        semigroups >= 0.15

  ghc-options:    -Wall -O2
  hs-source-dirs: src

source-repository head
  type: git
  location: https://github.com/frasertweedale/hs-jose.git

test-suite tests
  type:           exitcode-stdio-1.0
  hs-source-dirs: src, test
  main-is:        Test.hs
  other-modules:
    AESKW
    JWK
    JWS
    JWT
    Properties
    Types

  build-depends:
    base
    , attoparsec
    , base64-bytestring
    , byteable
    , containers
    , cryptonite
    , lens
    , memory
    , monad-time
    , mtl
    , template-haskell
    , safe
    , aeson
    , unordered-containers
    , bytestring
    , text
    , time
    , network-uri
    , vector
    , x509

    , tasty
    , tasty-hspec
    , tasty-quickcheck
    , hspec
    , QuickCheck
    , quickcheck-instances

  if impl(ghc < 7.10)
    build-depends:
        bifunctors >= 4.0
  if impl(ghc < 8)
    build-depends:
        semigroups >= 0.15

executable example
  hs-source-dirs: example
  main-is:  Main.hs
  ghc-options:    -Wall
  build-depends:
    base
    , aeson
    , bytestring
    , lens
    , mtl
    , jose