cabal-version: 2.2
name: amazonka-s3-encryption
version: 2.0
synopsis: Amazon Simple Storage Service SDK - Client-Side Encryption.
homepage: https://github.com/brendanhay/amazonka
bug-reports: https://github.com/brendanhay/amazonka/issues
license: MPL-2.0
license-file: LICENSE
author: Brendan Hay
maintainer:
Brendan Hay <brendan.g.hay@gmail.com>, Jack Kelly <jack@jackkelly.name>
copyright: Copyright (c) 2016 Brendan Hay
category: AWS
build-type: Simple
extra-source-files: README.md
description:
Addons for <http://hackage.haskell.org/package/amazonka-s3 amazonka-s3> to
support client-side encryption. This allows the use of a client-side master key
to encrypt/decrypt data locally and store encrypted data in S3 to be later
decrypt by any other client with access to the same master key. Unencrypted
object data or keys are not sent to Amazon S3 using this method, but object
metadata is transmitted in plaintext.
.
Encryption and decryption are done in a streaming fashion, with
encrypted requests being incrementally signed using the version 4 signature
algorithm and sent via chunked-encoding.
.
The client-side master key you provide can be a symmetric key, an
asymmetric public/private key pair, or a KMS master key.
.
This library is designed to be compatible with the official Java
AWS SDK (both V1 and V2 envelopes), but only a limited set of the possible
encryption options are supported. Therefore assuming defaults, objects stored
with this library should be retrievable by any of the other official SDKs, and
vice versa. The metadata can be attached as header metadata
on the stored object or as a separate JSON instructions file.
@PutObject@, @GetObject@, and the various multipart upload operations are supported.
.
See <http://hackage.haskell.org/package/amazonka-s3-encryption/docs/Network-AWS-S3-Encryption.html Amazonka.S3.Encryption>
to get started.
source-repository head
type: git
location: git://github.com/brendanhay/amazonka.git
subdir: lib/amazonka-s3-encryption
common base
default-language: Haskell2010
ghc-options:
-Wall -funbox-strict-fields -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates -fwarn-missing-deriving-strategies
-fwarn-unused-packages
default-extensions:
NoImplicitPrelude
DataKinds
DeriveAnyClass
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
PatternSynonyms
RankNTypes
RecordWildCards
ScopedTypeVariables
StrictData
TupleSections
TypeApplications
TypeFamilies
ViewPatterns
build-depends: base >=4.12 && <5
library
import: base
hs-source-dirs: src
exposed-modules:
Amazonka.S3.Encryption
Amazonka.S3.Encryption.Body
Amazonka.S3.Encryption.Decrypt
Amazonka.S3.Encryption.Encrypt
Amazonka.S3.Encryption.Envelope
Amazonka.S3.Encryption.Instructions
Amazonka.S3.Encryption.Types
build-depends:
, aeson ^>=1.5.0.0 || >=2.0 && <2.2 || ^>=2.2
, amazonka ^>=2.0
, amazonka-core ^>=2.0
, amazonka-kms ^>=2.0
, amazonka-s3 ^>=2.0
, bytestring >=0.10.8
, case-insensitive >=1.2
, conduit >=1.3
, crypton >=0.32 && <0.34
, http-client >=0.5 && <0.8
, lens >=4.14
, memory >=0.6
, mtl >=2.1.3.1
, text >=1.1
, unordered-containers >=0.2.5
test-suite amazonka-s3-encryption-test
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: Main.hs
ghc-options: -Wall -threaded
-- This section is encoded by the template and any modules added by
-- hand outside these namespaces will not correctly be added to the
-- distribution package.
other-modules: Test.Amazonka.S3.Encryption.Envelope
build-depends:
, amazonka-core
, amazonka-s3-encryption
, amazonka-test ^>=2.0
, base
, bytestring
, conduit
, crypton
, mtl
, QuickCheck
, quickcheck-instances >=0.3.25.2
, resourcet
, tasty
, tasty-hunit
, tasty-quickcheck
, text
, time
, unordered-containers