#
# PassManConvert Copyright (C) 2015 Bob Lindell
# (blindell@users.sourceforge.net)
#
# This program 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.
#
# This program 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 this program. If not, see
# <http://www.gnu.org/licenses/>.
#
Summary:
This Java application will convert between popular password manager
formats. It will also generate PGP encrypted CSV files which are useful
for viewing passwords in a text console. Finally, a password protected
PDF file can be generated for printing.
Credits:
The following libraries have been adapted to provide some of the conversion
functionality:
Keyring for Android
Copyright (C) 2011 Ron Riley
(android.keyring@gmail.com)
https://code.google.com/p/keyring-for-android/
KeePassDroid
Copyright 2009 Brian Pellin
https://github.com/bpellin/keepassdroid/
Java PasswordSafe
Copyright (c) 2008-2014 David Muller
<roxon@users.sourceforge.net>
http://sourceforge.net/p/jpwsafe/
Building:
Download the jar files specified in jar/README.txt and place them in
the jar directory. Type "make" to build the conv.jar jar file.
Usage:
./passmanconvert.sh input-file output-file
Input and output files are converted based on their suffix. Current
suffixes that are supported are:
.pdb (KeyRing v4)
.pdb5 (KeyRing v5)
.psafe1 (Password Safe v1)
.psafe2 (Password Safe v2)
.psafe3 (Password Safe v3)
.kdb (KeePass v3 [1.x files])
.kdbx (KeePass v4 [2.x files])
.gpg (PGP Encrypted text CSV file)
.txt (Plain text CSV file)
.pdf (AES-256 Encrypted PDF tabular file)
The application prompts for the input-file and output-file passwords.
The output file password can be set to different value than the input
file.
The password is ignored for .txt files and I don't recommend
saving a plain text file of your passwords.
The password on .gpg files is the key id from your keyring. Use "gpg
--list-keys --with-colon" to find the id. In the following output of
list keys, the id to use is "3D15432980999B95".
pub:-:2048:17:3D15432980999B95:2012-02-08:::-:Bob Lindell ...
Limitations:
pdb/pdbx: A maximum of 16 categories and category names are limited to 16
characters
psafe1: There are no category or date fields
kdbx: Hierarchical category groups are collapsed because no other
format supports it.
Examples:
I mainly use keepassx on Linux and maintain my passwords in a KeePass
1.x (.kdb) format. I use PassManConvert to generate read-only copies
for other platforms.
For chromebooks, I convert my passwords to a .kdbx
format and use the "KeePass Chrome" extension
(https://chrome.google.com/webstore/detail/keepass-chrome/dblfjmedcfpfopkkkknpgkokmlnfildj/)
When I'm performing system administration tasks on headless
servers, I use vim and .gpg files to view passwords. See
http://vim.wikia.com/wiki/Edit_gpg_encrypted_files for examples of .vimrc
entries to view your password files.
In the past, I used keyring on Palm Pilot devices to have access to
my passwords. Now it is smartphones with your choice of many password
manager apps.
Last, but not least, is the ability to create a hardcopy of passwords
to store in a safe deposit box. Create an encrypted PDF file, print in
a safe environment, and then delete the PDF.