Metadata-Version: 1.0
Name: keyctl
Version: 0.1
Summary: Wrapper to use keyctl command in Python
Home-page: https://github.com/tuxberlin/python-keyctl
Author: Martin Becker
Author-email: tuxberlin@gmail.com
License: GPL-3.0
Description: python-keyctl
        =============
        
        Basic management of keys in the Linux kernel keyring in Python. Also
        comes with a small gui.
        
        Table of contents
        -----------------
        
        -  `Description <#description>`__
        -  `Requirements <#requirements>`__
        -  `Installation <#installation>`__
        -  `Usage <#usage>`__
        
           -  `Module <#module>`__
           -  `GUI <#gui>`__
        
        -  `Development <#development>`__
        
           -  `Warning <#warning>`__
        
        -  `Similar projects <#similar-projects>`__
        -  `License <#license>`__
        
        Description
        -----------
        
        This is a small library to make use of some functions of the kernel
        keyring in Python. You can read, add and delete keys.
        
        It simply uses the keyctl command (invoking it via subprocess), so this
        util must be installed.
        
        Available functions:
        
        -  **list** *(list all keys in keyring)*
        -  **describe** *(retrieve key name/description)*
        -  **read/pipe/print** *(retrieve key content)*
        -  **update** *(modify key content)*
        -  **add** *(add key)*
        -  **revoke/unlink** *(delete key)*
        -  **search/request** *(search for a key by name)*
        -  **clear** *(remove all keys from keyring)*
        
        There are many more functions with keys in the kernel keyring (e.g.
        permissions) that is needed for proper keymanagement. But for my usecase
        I just needed the given simple functionality.
        
        Requirements
        ------------
        
        Python 2.7
        
        ::
        
            $ sudo apt-get install python2.7
            $ python --version
            Python 2.7.3
        
        pip
        
        ::
        
            $ sudo apt-get install python-pip
            $ pip --version
            pip 9.0.1 from .... (python 2.7)
        
        The 'keyctl' command
        
        ::
        
            $ sudo apt-get install keyutils
            $ dpkg -s keyutils | grep Version
            Version: 1.5.2-2
        
        For the GUI you also need:
        
        Qt4
        
        ::
        
            google it for your distribution
        
        PySide
        
        ::
        
            $ pip install pyside
            $ pip show pyside | grep Version
            Version: 1.2.4
        
        Installation
        ------------
        
        ::
        
            $ pip install keyctl
        
        Ready to use.
        
        Usage
        -----
        
        Module
        ~~~~~~
        
        Get all keys:
        
        .. code:: python
        
            from keyctl import Key
            keylist = Key.list()
            for mykey in keylist:
                print mykey.id
        
        Read existing key:
        
        .. code:: python
        
            from keyctl import Key
            mykey = Key(123)
            print mykey.name
            print mykey.data
            print mykey.data_hex
        
        Find key by name:
        
        .. code:: python
        
            from keyctl import Key
            mykey = Key.search('test key')
            print mykey.id
        
        Add key:
        
        .. code:: python
        
            from keyctl import Key
            mykey = Key.add('test key', 'test content')
            print mykey.id
        
        Delete key:
        
        .. code:: python
        
            from keyctl import Key
            mykey = Key(123)
            mykey.delete()
        
        Update key:
        
        .. code:: python
        
            from keyctl import Key
            mykey = Key(123)
            mykey.update('new content')
        
        GUI
        ~~~
        
        To open the GUI, run the installed command.
        
        ::
        
            $ keyctlgui
        
        Development
        -----------
        
        Warning
        ~~~~~~~
        
        If you run the integrated tests, your user keyring will be cleared.
        Don't do this when you have active keys e.g. for encryption.
        
        Similar projects
        ----------------
        
        Similar projects you might want to checkout:
        
        -  https://github.com/sassoftware/python-keyutils (more complete,
           available in debian repo)
        -  https://github.com/jdukes/pykeyctl (more complete, direct library
           wrapper)
        
        License
        -------
        
        | GPL-3.0
        | see
          `LICENSE <https://raw.githubusercontent.com/tuxberlin/python-keyctl/master/LICENSE>`__
          file
        
Platform: UNKNOWN
