Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Python-module to provide an API to KeePass 1.x files commonly used by KeePassX.

branch: master
README
kppy v.1.4.1
============

! Due to a bug in KeePassX it is not possible to decrypt databases encrypted
with a 64Byte-keyfile. Indeed it's possible to open such a database encrypted
by the reference implementation KeePass 1.26 for Windows. !

A Python-module to provide an API to KeePass 1.x files which are also used by
the popular KeePassX.

* License: GPL v3 or later
* Author: Karsten-Kai König <kkoenig@posteo.de>
* Stable download: https://github.com/raymontag/kppy/tarball/master
* Website: http://raymontag.github.com/kppy
* Bug tracker: https://github.com/raymontag/kppy/issues?state=open
* Git: git://github.com/raymontag/kppy.git

Features:
---------

* Full Access to KeePass 1.x/KeePassX files:
** Open, save and close KP-files correctly
** Edit KP-files correctly and comfortable
** AES encryption
** First Python module for KeePass 1.x files that supports keyfiles, too.
** First Python-KeePass module for Python 3 (Python 2 is supported, too).

* Some explanation to KeePass databases:
** Database files are encrypted with AES
** Database entries are sorted in groups
** Groups support subgroups
** Every entry has a title for better identification
** Expiration dates for entries

Dependencies:
-------------

* Python 2 or Python 3
* PyCrypto (https://www.dlitz.net/software/pycrypto/)

Install:
--------

Just type "python setup.py install" (or "python3 setup.py install") with root
rights in the root directory of kppy.

WARNING:
--------

As long as the database is opened with this
module, the password is saved as plain text in RAM. Even if
the database was closed correctly it is possible that the password lies
somewhere in your computer's RAM, it's not possible to prevent this in Python.
That is, if your computer is compromised it is possible to dump the password
from memory. To prevent some scenarios you could change the working directory of
Python to /var/empty on UNIX-like systems while using kppy. A core dump wouldn't
 be possible unless you're using kppy as root.

Copyright (C) 2012 Karsten-Kai König <kkoenig@posteo.de>

kppy is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or at your option) any later version.

kppy is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
kppy.  If not, see <http://www.gnu.org/licenses/>.
Something went wrong with that request. Please try again.