{ "info": { "author": "Dirk Heuvels", "author_email": "coding@heuvels.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "==========\nReadme\n==========\n\nAbstract\n========\n\nYet another implementation of the idea, to use the SSH agent for symmetric encryption.\nThis time for Python (2+3).\n\nLoad a key and make an SSH connection with agent-forwarding:\n\n.. code-block:: bash\n\n local-machine ~ % ssh-add\n local-machine ~ % ssh -A remote-machine\n\nCreate some `agentcrypt` enabled scripts on the remote host:\n\n.. code-block:: python\n\n remote-machine ~ % cat << '_EOF_' > encryptor.py\n import sys\n from agentcrypt.io import Container\n with Container.create(sys.stdout) as cntr:\n for line in sys.stdin:\n cntr.write(line)\n _EOF_\n\n remote-machine ~ % cat << '_EOF_' > decryptor.py\n import sys\n from agentcrypt.io import Container\n with Container.load(sys.stdin) as cntr:\n print(cntr.getvalue().decode())\n _EOF_\n\nUse the newly created scripts with keys from the local `ssh-agent`:\n\n.. code-block:: bash\n\n remote-machine ~ % echo \"secret data\" |python encryptor.py > hushhush.dat\n remote-machine ~ % python decryptor.py < hushhush.dat\n secret data\n\nOr via the ``main`` guard of the package:\n\n.. code-block:: bash\n\n remote-machine ~ % echo \"secret data\" |python -magentcrypt.io enc > hushhush.dat\n remote-machine ~ % python -magentcrypt.io dec < hushhush.dat\n secret data\n\n\nMotivation\n==========\n\n- Provide a convenient (passwordless) way of encrypting sensitive data for Python.\n- Profit from the fact that agent-forwarding makes SSH keys available on remote servers.\n\nAlternatives\n============\n\n- https://github.com/edwardspeyer/sshovel - Python\n- https://github.com/is/sshcrypt - Go\n- https://github.com/jwhitham/safeu - C (not sure if it uses the signature as keys too)\n\nWhy another implementation?\n The ones I found on GitHub are either not Python or they rely on calls to external programs.\n I wanted a pure Python library, that runs with Versions 2.7 and 3.x.\n\nDocumentation\n=============\n\n`API Documentation`_\n\n.. _`API Documentation`: https://code.heuvels.de/agentcrypt\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/dheuvels/agentcrypt/archive/v0.5.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dheuvels/agentcrypt", "keywords": "agentcrypt", "license": "GNU General Public License v3", "maintainer": "", "maintainer_email": "", "name": "agentcrypt", "package_url": "https://pypi.org/project/agentcrypt/", "platform": "", "project_url": "https://pypi.org/project/agentcrypt/", "project_urls": { "Download": "https://github.com/dheuvels/agentcrypt/archive/v0.5.tar.gz", "Homepage": "https://github.com/dheuvels/agentcrypt" }, "release_url": "https://pypi.org/project/agentcrypt/0.5/", "requires_dist": [ "PyYAML", "cryptography", "future", "future", "paramiko" ], "requires_python": "", "summary": "Symmetric encryption using the ssh-agent", "version": "0.5" }, "last_serial": 5800945, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "ce6d892280ccc2552067a70f2875bdbb", "sha256": "e6c4b53c3322ff799f9db0c832d8a3d805d23102f505e8b1f0508f7ad14a0354" }, "downloads": -1, "filename": "agentcrypt-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "ce6d892280ccc2552067a70f2875bdbb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12346, "upload_time": "2019-09-08T22:41:07", "url": "https://files.pythonhosted.org/packages/67/9f/6128ce6729049a3990ad78ff5d31ca40f36b52bdd04804b316f152dfc122/agentcrypt-0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da3b4501597bf0951cf2ed18213b72f7", "sha256": "abf06f2c77377b5aaadd38de845c5abd61241909d52dd02a5aae85bc953155c8" }, "downloads": -1, "filename": "agentcrypt-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "da3b4501597bf0951cf2ed18213b72f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15680, "upload_time": "2019-09-08T22:41:09", "url": "https://files.pythonhosted.org/packages/e6/8e/679b31be0d21f05dfcd9e8d85858bb84b3512811abb383faaeba327fa11b/agentcrypt-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b5a75783f3b772ee0fa537f891d2926", "sha256": "e9000d95c169d71083112b0cd43b89345642c095d2ad03e0fa8ff7a9f27ff87f" }, "downloads": -1, "filename": "agentcrypt-0.5.tar.gz", "has_sig": false, "md5_digest": "9b5a75783f3b772ee0fa537f891d2926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13134, "upload_time": "2019-09-08T22:41:11", "url": "https://files.pythonhosted.org/packages/1c/d1/ee380716f59738af96ba1e13f53dbb27bdd89a1cd2bdbd6de46891b2d848/agentcrypt-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ce6d892280ccc2552067a70f2875bdbb", "sha256": "e6c4b53c3322ff799f9db0c832d8a3d805d23102f505e8b1f0508f7ad14a0354" }, "downloads": -1, "filename": "agentcrypt-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "ce6d892280ccc2552067a70f2875bdbb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12346, "upload_time": "2019-09-08T22:41:07", "url": "https://files.pythonhosted.org/packages/67/9f/6128ce6729049a3990ad78ff5d31ca40f36b52bdd04804b316f152dfc122/agentcrypt-0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da3b4501597bf0951cf2ed18213b72f7", "sha256": "abf06f2c77377b5aaadd38de845c5abd61241909d52dd02a5aae85bc953155c8" }, "downloads": -1, "filename": "agentcrypt-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "da3b4501597bf0951cf2ed18213b72f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15680, "upload_time": "2019-09-08T22:41:09", "url": "https://files.pythonhosted.org/packages/e6/8e/679b31be0d21f05dfcd9e8d85858bb84b3512811abb383faaeba327fa11b/agentcrypt-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b5a75783f3b772ee0fa537f891d2926", "sha256": "e9000d95c169d71083112b0cd43b89345642c095d2ad03e0fa8ff7a9f27ff87f" }, "downloads": -1, "filename": "agentcrypt-0.5.tar.gz", "has_sig": false, "md5_digest": "9b5a75783f3b772ee0fa537f891d2926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13134, "upload_time": "2019-09-08T22:41:11", "url": "https://files.pythonhosted.org/packages/1c/d1/ee380716f59738af96ba1e13f53dbb27bdd89a1cd2bdbd6de46891b2d848/agentcrypt-0.5.tar.gz" } ] }