Baccounts
Internet account (password) manager, with following goals:
- Secure: Manage secure passwords (secure = long and complex enough)
- SMALL: as minimal code required; ~ 1000 LOC for core functionalities
- Dependent on a few small libraries as less as possible
- Platform independent: work on Darwin, Windows, Linux or Unix
- Portable and readable, not breakable persistent data
Under following assumptions or limitations
- Trust Go standard library
- No GUI
- Only work with GnuPG 2.0 / 1.4 generated keyring files (PGP format; GnuPG 2.1 uses .kbx gpgsm format) -> Workaround below
- on gpg-agent error of pinentry
Build and install
$ go install github.com/kuenishi/baccounts
LICENSE
GPL version 3
GnuPG >= 2.2 has a new public and secret key format instead of
$HOME/.gnupg/pubring.gpg and $HOME/.gnupg/secring.gpg, while
baccounts still reads secret keys from it (This is because Go openpgp
module only supports PGP compatible format). But GnuPG supports
exporting secret key to old format, like:
$ gpg --export > ~/.gnupg/pubring.gpg
$ gpg --export-secret-keys > ~/.gnupg/secring.gpg
TODO
- update password (create a new one)
- Export to other devices that does not have secret keys (Android, other computers)
- how to share between devices like Android phone?
Test keys