{ "info": { "author": "Marco Bellaccini", "author_email": "marco.bellaccini[at!]gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "======\nopqpwd\n======\n\nopqpwd is a password manager REST service with `client-side encryption `_.\n\nIt is written in Python 3, using `Django `_ and `Django REST framework `_.\n\nopqpwd stands for \"opaque passwords\": it encrypts password on the client-side,\nmaking them \"opaque\" to the server.\nMoreover, user registration and authentication is performed using salted hashes\nof user-chosen username and password:\nthis boosts users anonimity with respect to traditional services, hiding even\nthe service-registration username.\n\nPasswords (and metadata) are stored in your favorite database as Base64-encoded,\nencrypted JSON.\nEncryption is performed using AES-256-CBC, with HMAC-SHA-256 authentication.\n\n`scrypt `_ is used as key derivation function.\n\nIt features an example command-line client (you can find it in\nthe bin folder).\n\nopqpwd was written by Marco Bellaccini - marco.bellaccini(at!)gmail.com.\n\nBEWARE: OPQPWD IS PROOF-OF-CONCEPT SOFTWARE, FOR TESTING PURPOSES ONLY.\n\nQuick start\n-----------\n\n1. Make sure you meet all software dependencies (Django REST Framework,\n scrypt - you'll need libssl-dev for it, pycrypto, requests and, of course, Django).\n\n2. Add \"opqpwd\" and \"rest_framework\" (of course, you have to install\n Django REST Framework too!) to your INSTALLED_APPS setting like this::\n\n INSTALLED_APPS = [\n ...\n 'rest_framework',\n 'opqpwd',\n ]\n\n In the same file (settings.py), specify this custom authentication backend::\n\n # set custom authentication backend\n AUTHENTICATION_BACKENDS = ['opqpwd.authentication.UserCredBackend']\n\n3. Include the opqpwd URLconf in your project urls.py like this::\n\n url(r'^', include('opqpwd.urls')),\n\n Note: make sure you import include with `from django.conf.urls import include`.\n\n4. Run `python manage.py migrate` to create the opqpwd models.\n\n5. Start the development server (BEWARE: in a real environment you should run\n it over https, however, as already stated, THIS IS A PROOF-OF-CONCEPT\n SOFTWARE, FOR TESTING PURPOSES ONLY).\n\n6. Start the cli-client script::\n\n opqpwdcliclient\n\n Note: if you installed the package as a user library, the script will\n likely be in `.local/bin` in your home folder.\n\n7. Connect to the development server::\n\n connect http://127.0.0.1:8000\n\n8. Register a user::\n\n adduser\n\n (if you want, you can also generate an authentication token to use along\n with the password)\n\n9. Login::\n\n login\n\n10. Add a password to the db::\n\n addpassword\n\n11. List all stored passwords titles::\n\n printall\n\n12. Print details of the password you just stored::\n\n print 1\n\n13. Upload encrypted passwords to the server::\n\n save\n\n14. Get help with the other commands::\n\n help", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marcobellaccini/django-opqpwd", "keywords": null, "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "django-opqpwd", "package_url": "https://pypi.org/project/django-opqpwd/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-opqpwd/", "project_urls": { "Homepage": "https://github.com/marcobellaccini/django-opqpwd" }, "release_url": "https://pypi.org/project/django-opqpwd/0.1/", "requires_dist": null, "requires_python": null, "summary": "A Django-based password manager REST service with client-side encryption", "version": "0.1" }, "last_serial": 2559237, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "df5099760bbcd6bb00740b31850c69b1", "sha256": "aa8ee044cf91443d149ad8f25393873f3f13770db5a7f2aeba84553e11c16def" }, "downloads": -1, "filename": "django-opqpwd-0.1.tar.gz", "has_sig": false, "md5_digest": "df5099760bbcd6bb00740b31850c69b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20636, "upload_time": "2017-01-06T16:18:58", "url": "https://files.pythonhosted.org/packages/62/ef/066d8755bccc55661d48a5ead6c571acd411fd54c62ef2340feb2b1138df/django-opqpwd-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "df5099760bbcd6bb00740b31850c69b1", "sha256": "aa8ee044cf91443d149ad8f25393873f3f13770db5a7f2aeba84553e11c16def" }, "downloads": -1, "filename": "django-opqpwd-0.1.tar.gz", "has_sig": false, "md5_digest": "df5099760bbcd6bb00740b31850c69b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20636, "upload_time": "2017-01-06T16:18:58", "url": "https://files.pythonhosted.org/packages/62/ef/066d8755bccc55661d48a5ead6c571acd411fd54c62ef2340feb2b1138df/django-opqpwd-0.1.tar.gz" } ] }