{ "info": { "author": "Thierry Lemeunier", "author_email": "thethythy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: Console :: Curses", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Utilities" ], "description": "Product presentation\n====================\n\nMnemoPwd is a client-server application to store and retrieve secret information.\nIt is based on OpenSSL cryptographic library and its installation is required both\non the client side and the server side.\n\nMnemoPwd use a fork of the PyElliptic module developped by Yann GUIBET under BSD License,\nthat is a high level wrapper of OpenSSL (see https://github.com/yann2192/pyelliptic).\n\nSee https://www.openssl.org (\"OpenSSL Homepage\") web site for more information.\n\nRequire Python 3.4.4 or newer, OpenSSL (not compatible with version > 1.0.x), GNU/Linux or macOS\n\nCopyright (c) 2015-2017, Thierry Lemeunier under\nBSD Licence\n\nFeatures\n========\n\n- Double level of connection security: the SSL/TLS protocol and the application protocol\n- Server identity can be controlled by X.509 certificate (optional TLS feature)\n- Client and server share a master secret via ECDH scheme\n- Each secret information is encrypted with the ECIES scheme\n- Integrity is controlled by two HMAC (ECIES scheme + a 512-bits HMAC per block)\n- Possibility of three stages of data encryption by client's configuration\n- Keys are computed on the fly by the client and the server\n- Keys are never stored by the server or by the client\n- Do some self-controls before starting\n- IP Auto-configuration at first launch (if server and client are on same private LAN)\n- Configuration by file and/or by command line options\n- Some colours on client interface (see the configuration file)\n- Server running in background (only on POSIX systems)\n- Importation / exportation in clear text or cypher text\n- UML model of the secure application protocol (see https://github.com/thethythy/Mnemopwd)\n\nInstallation (and uninstalling)\n===============================\n\nThey are two installation modes:\n\n- PIP Installation\n\nWith PIP just hit in a terminal: ``pip install MnemoPwd``\nFor uninstalling just hit in a terminal: ``pip uninstall MnemoPwd``\n\nFor more information about PIP see https://pip.readthedocs.io/.\n\n- Source Installation\n\nYou can get the ZIP archive from GitHub (https://github.com/thethythy/Mnemopwd) using the button ``Clone or download``.\nJust unzip the archive file and go in the source directory.\nFor uninstalling, delete the ZIP archive and the source directory.\n\nConfiguration\n=============\n\nServer configuration\n--------------------\n\nThe server use ``~/.mnemopwds`` as configuration file. This file is automatically created\nat the first launch if it does not already exist. You can edit this file, for example,\nto indicate a private key file and a certificate file. You can change the following options:\n\n- Host IP (by default it is the address in the local network);\n- Log level;\n- Private key file and certificate file (none by default);\n- Host port (``62230`` by default);\n- Path to the database directory (by default it is ``~/mnemopwddata``);\n- Some other options about logging.\n\nSecret information are always left encrypted in the database in ``~/mnemopwddata`` directory.\nThis directory contains also log files. This directory is accessible only for the user\nwho launch the server.\n\nYou can also change some options on the command line. Use option ``-h`` or ``--help`` to get a help screen.\nThe command line has priority over configuration file.\n\nClient configuration\n--------------------\n\nThe client use ``~/.mnemopwdc`` as configuration file. This file is automatically created\nat the first launch if it does not already exist. You can edit this file, for example,\nto indicate a shared certificate file. You can change the following options:\n\n- Shared certificate file (none by default);\n- Server IP (found by auto-configuration in the case of a private LAN);\n- Server port (found by auto-configuration in the case of a private LAN);\n- Lock screen timeout (one minute by default);\n- Cryptographic suites (by default one stage with sect571r1 and aes-256-cbc).\n- Colours of user interface if available\n\nThe user can define in the configuration file three stages of encryption. There is\none stage defined by default. Paranoiac users can add one or two stages of encryption\nbut it will be more slow to encrypt and to decrypt secret information...\n\nYou can also change some options on the command line. Use option ``-h`` or ``--help`` to get a help screen.\nThe command line has priority over configuration file.\n\nUsage\n=====\n\nStart a server or client from PIP installation\n----------------------------------------------\n\nStart a server\n..............\n\n ``mnemopwds -h`` --> get a help screen\n\n ``mnemopwds --start`` --> start the server\n\n ``mnemopwds [--status]`` --> get a status message\n\n ``mnemopwds --stop`` --> stop the server\n\nStart a client\n..............\n\n ``mnemopwdc -h`` --> get a help screen\n\n ``mnemopwdc`` --> start the client\n\n ``mnemopwdc --status`` --> get a status message\n\nStart a server or a client from the source directory\n----------------------------------------------------\n\nYou can use ``python3 mnemopwds.py`` for launching the server. You can also change the execution property\nof the server launcher with ``chmod +x mnemopwds.py`` and then use directly ``./mnemopwds.py``.\nYou can do the same things for client launcher (``mnemopwdc.py``).\n\nCertificate usage\n-----------------\n\nTo authenticate the server, a X.509 certificate can be used. You can use an existing certificate or use\na new self-signed certificate created with OpenSSL. In the last case, please follow next steps:\n\n1. Generate a self-signed certificate: in a terminal, launch the next command line\n\n ``openssl req -x509 -new -utf8 -nodes -out mnemopwdcert -keyout mnemopwdkey``\n\n where ``mnemopwdcert`` is the certificate file to share and ``mnemopwdkey`` is the private key\n file to keep secret (never shared this file).\n\n See https://www.openssl.org/docs/manmaster/apps/req.html for more information.\n\n2. Move certificate file and key file in a secure directory on server (I recommend the ``~/mnemopwddata``\n directory created by the server application the first start you launch it).\n\n3. The certificate file (``mnemopwdcert``) **must be copy** on each client computer to share it.\n\n4. Finally, indicate to the server the ``-c`` and ``-k`` options and to the client the ``-c`` option or\n modify configuration files (by default ``~/.mnemopwds`` for server and ``~/.mnemopwdc`` for client).\n For example (stop server if it is already started):\n\n ``mnemopwds --start -c /path/to/mnemopwdcert -k /path/to/mnemopwdkey`` --> start the server using SSl/TLS identity control mechanism\n\n ``mnemopwdc -c /path/to/mnemopwdcert`` --> start the client with the same certificate file to control server identity\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thethythy/Mnemopwd", "keywords": "secret storage,security,elliptic cryptography,openssl", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "MnemoPwd", "package_url": "https://pypi.org/project/MnemoPwd/", "platform": "", "project_url": "https://pypi.org/project/MnemoPwd/", "project_urls": { "Homepage": "https://github.com/thethythy/Mnemopwd" }, "release_url": "https://pypi.org/project/MnemoPwd/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "A client-server application to store secret information", "version": "1.2.1" }, "last_serial": 4046658, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "bff4f0b05a65f08183e33c48df068b22", "sha256": "3f4093f18fc99a9a2e25fa691999096fbdaed1fc38e599561ee3da2b6094e294" }, "downloads": -1, "filename": "MnemoPwd-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bff4f0b05a65f08183e33c48df068b22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 195442, "upload_time": "2017-02-22T17:50:11", "url": "https://files.pythonhosted.org/packages/7c/51/ff8416f908939b31561b016a33b4c3ef9d518cb95791948141d0cb46a0d3/MnemoPwd-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d201f00ca60b21d00aa6089b0df8b58", "sha256": "af90065cd5a7f3555453acb318836da6a395f7d99bcef6616dfd44da752a8e4b" }, "downloads": -1, "filename": "MnemoPwd-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3d201f00ca60b21d00aa6089b0df8b58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76779, "upload_time": "2017-02-22T17:50:12", "url": "https://files.pythonhosted.org/packages/51/35/cefeed5e1e5bb56650920850eb553b08010746d765db466740a4d1869606/MnemoPwd-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e791602d6ee45e95e169f368ca94b5a4", "sha256": "c84fe41ceb7892cff92292a198d62e7b8c85133727dcdd773dea41f8bbd9fec0" }, "downloads": -1, "filename": "MnemoPwd-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e791602d6ee45e95e169f368ca94b5a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 201781, "upload_time": "2017-03-28T17:36:48", "url": "https://files.pythonhosted.org/packages/88/76/0f6eef02bd1bdd8aa91bcb777141180a175715ef58fc0c9453bcb98eda6c/MnemoPwd-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96756062f5c4ad3bb8e5c96f8cf2b8f1", "sha256": "d960589e9d9de1f6f9351351083d6b5de00655ea74543f260c46a7f3620d9b3e" }, "downloads": -1, "filename": "MnemoPwd-1.1.0.tar.gz", "has_sig": false, "md5_digest": "96756062f5c4ad3bb8e5c96f8cf2b8f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79967, "upload_time": "2017-03-28T17:36:50", "url": "https://files.pythonhosted.org/packages/df/08/7bcf3286467d734804f0e5ffb3009f43c4d3eb64f70280782921e1db41fc/MnemoPwd-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "7a1e4578356f3802e22b7881f95ef4c0", "sha256": "ebae0eb892f2c5ddf46b8c8211f1d8f0b2fe2f100c9fd8f9bee476aac2539f98" }, "downloads": -1, "filename": "MnemoPwd-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7a1e4578356f3802e22b7881f95ef4c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 211681, "upload_time": "2017-07-23T08:13:07", "url": "https://files.pythonhosted.org/packages/2a/47/98f5f9906ace7de49ab7dbfbd94ae50b4b8260fd08a39c4cbfedb19ed2f6/MnemoPwd-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7864e1a7f747550d439e0aa382647616", "sha256": "fd9d3e989294e6e5069fdb9d2b86675c25b1e76de60d7a2e11d3c3bf0bd2f280" }, "downloads": -1, "filename": "MnemoPwd-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7864e1a7f747550d439e0aa382647616", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86676, "upload_time": "2017-07-23T08:13:09", "url": "https://files.pythonhosted.org/packages/8a/e1/6080c16c681ae616b9f6377a4cf8c0cdac244221849177699c29ecad8efc/MnemoPwd-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "39d4fd279196379ca4561ef13a74ca3a", "sha256": "81889cfe44dfe2854d32062c8f6b0872ca6b607a8009c1798ad3b85fea5c8d1c" }, "downloads": -1, "filename": "MnemoPwd-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "39d4fd279196379ca4561ef13a74ca3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 211848, "upload_time": "2018-07-10T09:33:31", "url": "https://files.pythonhosted.org/packages/0c/fa/cd5abb40c2a317cde279e0161865afcad41d754ec3394d6f704a901b281f/MnemoPwd-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c43c9f238f83e42aa05e1e803b1e31a", "sha256": "5b5ff7dbd5dc6d267b6501c6cef8cf03d0ec2baf82598fd1e4727f97f4764385" }, "downloads": -1, "filename": "MnemoPwd-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7c43c9f238f83e42aa05e1e803b1e31a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86862, "upload_time": "2018-07-10T09:33:33", "url": "https://files.pythonhosted.org/packages/74/8c/9b6c1374e8ab0e7c68874c4fafb81225fc5e9a6e6286a2a98f3bde35a59c/MnemoPwd-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "39d4fd279196379ca4561ef13a74ca3a", "sha256": "81889cfe44dfe2854d32062c8f6b0872ca6b607a8009c1798ad3b85fea5c8d1c" }, "downloads": -1, "filename": "MnemoPwd-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "39d4fd279196379ca4561ef13a74ca3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 211848, "upload_time": "2018-07-10T09:33:31", "url": "https://files.pythonhosted.org/packages/0c/fa/cd5abb40c2a317cde279e0161865afcad41d754ec3394d6f704a901b281f/MnemoPwd-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c43c9f238f83e42aa05e1e803b1e31a", "sha256": "5b5ff7dbd5dc6d267b6501c6cef8cf03d0ec2baf82598fd1e4727f97f4764385" }, "downloads": -1, "filename": "MnemoPwd-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7c43c9f238f83e42aa05e1e803b1e31a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86862, "upload_time": "2018-07-10T09:33:33", "url": "https://files.pythonhosted.org/packages/74/8c/9b6c1374e8ab0e7c68874c4fafb81225fc5e9a6e6286a2a98f3bde35a59c/MnemoPwd-1.2.1.tar.gz" } ] }