{ "info": { "author": "Brian Oldfield", "author_email": "brian@oldfield.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers" ], "description": "[![Build Status](https://travis-ci.org/boldfield/s3-encryption.svg?branch=master)](https://travis-ci.org/boldfield/s3-encryption)\n[![PyPI version](https://badge.fury.io/py/s3-encryption.svg)](https://badge.fury.io/py/s3-encryption)\n\n\ns3-encryption is a thin wrapper around the `boto3` S3 client. It facilitates client-side encryption\nwhich is compatible to that provided by the Ruby aws-sdk-core-resources.\n\nFunctionality is currently limited to that demonstrated below:\n\nUpload encrypted content in python:\n```python\n\nimport boto3\nfrom s3_encryption.client import S3EncryptionClient\n\nREGION = 'us-west-2'\nBUCKET = 'testing.stuff.bucket'\ns3_key = 'testing.txt'\n\ns3e = S3EncryptionClient(encryption_key=plaintext_key, region_name=REGION)\ns3e.put_object(Body='this is a test', Bucket=BUCKET, Key='testing.txt')\ns3e.client.put_object(Body=encoded_key, Bucket=BUCKET, Key=s3_key + '.key')\n```\n\nDownload encrypted content in python:\n```python\n\nREGION = 'us-west-2'\nBUCKET = 'testing.stuff.bucket'\ns3_key = 'testing.txt'\n\ns3 = boto3.client('s3', region_name=REGION)\nencoded_key = s3.get_object(Bucket=BUCKET, Key=s3_key + '.key')\n\nplaintext_key = decode_encryption_key(encoded_key)\n\ns3e = S3EncryptionClient(encryption_key=plaintext_key, region_name=REGION)\nprint s3e.get_object(Bucket=BUCKET, Key=s3_key)\n>> 'this is a test'\n```\n\n\nDownload encrypted content in ruby:\n```ruby\n\nREGION = 'us-west-2'\nBUCKET = 'testing.stuff.bucket'\ns3_key = 'testing.txt'\n\ns3c = Aws::S3::Client.new\nres = s3c.get_object(:bucket => BUCKET, :key => s3_key + '.key')\nenc_key = res[:body].read\n\nplaintext_key = decode_encryption_key(enc_key)\n\ns3ec = Aws::S3::Encryption::Client.new(:encryption_key => plaintext_key)\nres = s3ec.get_object(:bucket => bucket, :key => s3_key)\nbody = res[:body].read\nputs body\n>> 'this is a test'\n```", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/boldfield/s3-encryption/tarball/0.1.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/boldfield/s3-encryption", "keywords": "S3 encryption", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "s3-encryption", "package_url": "https://pypi.org/project/s3-encryption/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/s3-encryption/", "project_urls": { "Download": "https://github.com/boldfield/s3-encryption/tarball/0.1.3", "Homepage": "https://github.com/boldfield/s3-encryption" }, "release_url": "https://pypi.org/project/s3-encryption/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "Thin wrapper around boto3 S3 client which supports client side encryption compatable with ruby aws-sdk-core", "version": "0.1.3" }, "last_serial": 2490559, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "559f5f8b07be2778814bc148f97a212c", "sha256": "3dc62f08bda78932cda1fecbaaab06dda54b7e3cc1cd53fc33e1a347a576b856" }, "downloads": -1, "filename": "s3-encryption-0.1.0.tar.gz", "has_sig": false, "md5_digest": "559f5f8b07be2778814bc148f97a212c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10142, "upload_time": "2015-02-26T05:27:34", "url": "https://files.pythonhosted.org/packages/c9/0e/bf5e1b391311c8990eba561218f4b44b1532392890718ac0eab7e50db39b/s3-encryption-0.1.0.tar.gz" } ], "0.1.0-rc1": [ { "comment_text": "", "digests": { "md5": "1f8c358aa7249545112a106ee9eec591", "sha256": "afe0f7ba7e3b67499aef0e30c3b6bd9043054244f174e318d64100ffdd17f723" }, "downloads": -1, "filename": "s3-encryption-0.1.0-rc1.tar.gz", "has_sig": false, "md5_digest": "1f8c358aa7249545112a106ee9eec591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10034, "upload_time": "2015-02-23T14:00:28", "url": "https://files.pythonhosted.org/packages/8c/f4/2b10058db62d6573176030a961da812e8dd3db3b1965ed09ee2ddd7f0eaa/s3-encryption-0.1.0-rc1.tar.gz" } ], "0.1.0-rc2": [ { "comment_text": "", "digests": { "md5": "0d81d338e8270b5aac237890253e6b7d", "sha256": "51f6d53aade031afca54d5775241f49ccd135c02a6d9f6be79e2bd494a86f83b" }, "downloads": -1, "filename": "s3-encryption-0.1.0-rc2.tar.gz", "has_sig": false, "md5_digest": "0d81d338e8270b5aac237890253e6b7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10019, "upload_time": "2015-02-23T17:56:02", "url": "https://files.pythonhosted.org/packages/97/88/8cac9928d0fe4e0173f5e91911c4e30f42b4a2661ff3283a021bca66052a/s3-encryption-0.1.0-rc2.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "32a7a159f4520b87fdfbeb986606e689", "sha256": "653ef88840f6414aed558481c7820df92d524a813ac3309a079569c6ebcb690c" }, "downloads": -1, "filename": "s3-encryption-0.1.1.tar.gz", "has_sig": false, "md5_digest": "32a7a159f4520b87fdfbeb986606e689", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8523, "upload_time": "2015-06-24T18:26:56", "url": "https://files.pythonhosted.org/packages/3d/84/9d75bd643d41f81db41a0c81a8cff0bb352f12aced3d2250f156aa98732b/s3-encryption-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8b1646fe3dde1d273f1e5dd2bc56b6f6", "sha256": "34bb8617b826e75754f4ae4e2c5c93e4f1527f01946d802e913f98aca6200f90" }, "downloads": -1, "filename": "s3-encryption-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8b1646fe3dde1d273f1e5dd2bc56b6f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8964, "upload_time": "2016-01-29T19:53:18", "url": "https://files.pythonhosted.org/packages/ef/0c/7101f17e903a2d894359cee6763df6ac85502453ee08a3aa4611bca4b5b3/s3-encryption-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "fd850ff3daf62a6a3ef3892abc5626c1", "sha256": "82da0195a70bd1d44edb87950ee121e77174fa32d322dd1097abd3488c38964d" }, "downloads": -1, "filename": "s3-encryption-0.1.3.tar.gz", "has_sig": false, "md5_digest": "fd850ff3daf62a6a3ef3892abc5626c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9311, "upload_time": "2016-11-29T21:14:57", "url": "https://files.pythonhosted.org/packages/88/c1/ac97fa713c6723b1afa7937936c4519fb936e3191990c6cd2b281d7a8f9a/s3-encryption-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd850ff3daf62a6a3ef3892abc5626c1", "sha256": "82da0195a70bd1d44edb87950ee121e77174fa32d322dd1097abd3488c38964d" }, "downloads": -1, "filename": "s3-encryption-0.1.3.tar.gz", "has_sig": false, "md5_digest": "fd850ff3daf62a6a3ef3892abc5626c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9311, "upload_time": "2016-11-29T21:14:57", "url": "https://files.pythonhosted.org/packages/88/c1/ac97fa713c6723b1afa7937936c4519fb936e3191990c6cd2b281d7a8f9a/s3-encryption-0.1.3.tar.gz" } ] }