Metadata-Version: 2.0
Name: keystore
Version: 0.2.2
Summary: Command line tools to compress and encrypt your keys
Home-page: https://github.com/Spaxe/keystore
Author: Xavier Ho
Author-email: contact@xavierho.com
License: UNKNOWN
Download-URL: https://github.com/Spaxe/keystore/archive/master.zip
Keywords: keys,tokens,archive
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Topic :: System :: Archiving :: Backup
Classifier: Topic :: System :: Archiving :: Compression
Classifier: Topic :: Security
Classifier: Topic :: Security :: Cryptography
Requires-Dist: docopt (==0.6.2)
Requires-Dist: simple-crypt (==4.1.7)

Keystore - keeps your keys in one place.
========================================

THIS IS AN EXPERIMENT [DO NOT USE IN PRODUCTION]
------------------------------------------------
Encrypt your keys before syncing them to a local backup, or "the cloud".

Download it later and decrypt it yourself.

    $ keystore-save
    $ mkdir keys
    $ keystore-load --copy-to keys

Prerequisites
-------------
Python 3.4+.

Install
-------
You can install straight from `pip`.

    pip install keystore

Before using it for the first time, you will need to setup a `~/.keystorerc` in
your home directory.

    {
      "keystore": "~/Dropbox/keystore",
      "files": [
        "~/.ssh",
        "~/.gnupg/gpg-agent.conf",
        "~/.gnupg/gpg.conf",
        "~/.gnupg/private-keys-v1.d",
        "~/.gnupg/pubring.gpg",
        "~/.gnupg/secring.gpg",
        "~/.gnupg/trustdb.gpg",
      ],
      "verbose": true
    }

Example usage
-------------

**Saving keys:**

    $ keystore-save

    Inspecting ~/.ssh:
    Adding /Users/spaxe/.ssh/id_rsa ...
    Adding /Users/spaxe/.ssh/id_rsa.pub ...
    Adding /Users/spaxe/.ssh/known_hosts ...
    Added 3 key(s) to keystore.

    This passphrase is used to decrypt your keystore. Please remember it.
    Please enter a passphrase:
    Please verify your passphrase:
    Passphrase accepted. Encrypting ...
    Keyring successfully created:
    AwGd2MtDWRkOFdyJoRZTdFApvKnoBQ2PXsqqE
    [...]

**Loading keys:**

    $ keystore-load

    Located encrypted keystore at ~/Dropbox/keystore:
    Please enter the passphrase:
    Keyring decrypted successfully.
    File /Users/spaxe/.ssh/id_rsa exists. Are you sure you want to overwrite? (y)/n:
    Writing key to /Users/spaxe/.ssh/id_rsa ...
    File /Users/spaxe/.ssh/id_rsa.pub exists. Are you sure you want to overwrite? (y)/n:
    Writing key to /Users/spaxe/.ssh/id_rsa.pub ...
    File /Users/spaxe/.ssh/known_hosts exists. Are you sure you want to overwrite? (y)/n:
    Writing key to /Users/spaxe/.ssh/known_hosts ...
    Keyring loaded. Restored 3 keys.

**Loading keys to the same directory (useful for a new machine):**

    $ mkdir keys
    $ keystore-load --copy-to keys

    Located encrypted keystore at ~/Dropbox/keystore:
    Please enter the passphrase:
    Keyring decrypted successfully.
    Writing key to /Users/spaxe/keys/id_rsa ...
    Writing key to /Users/spaxe/keys/id_rsa.pub ...
    Writing key to /Users/spaxe/keys/known_hosts ...
    Keyring loaded. Restored 3 keys.

**Running tests:**

    python3 test.py

Known Security Issues
---------------------
This library uses `simple-crypt`, which was last updated in 2015.
[You can read up about warnings for security concerns here](https://github.com/andrewcooke/simple-crypt#warnings).

License
-------
© Xavier Ho <contact@xavierho.com>

License under MIT License.


