Hello all,
I would like to propose implementing KeePass integration in the core client. This would allow us to leverage all the security features that KeePass brings and make the client more secure.
More info regarding KeePass: http://keepass.info/
I believe this could be a key feature and would like to implement this for the darkcoind client v0.11 first. Core team, please let me know if this would be desired. If so, I would like to start working on this asap as I currently have a few days of availability to spend on this.
Did some preliminary investigation and here is what I would like to propose:
How:
KeePass integration will use KeePassHttp (https://github.com/pfn/keepasshttp/) to facilitate communications between the client and KeePass. KeePassHttp is a plugin for KeePass 2.x and provides a secure means of exposing KeePass entries via HTTP for clients to consume.
The integration would tie in with the following commands:
Prerequisites:
- have keepass2 installed
- have keepasshttp installed
Config and command line options:
-keepass=1 Use KeePass 2 integration using KeePassHttp plugin (default: 0)
-keepassdb=<name> KeePass database to use (mandatory when keepass integration is active)
-keepassentrytitle=<name> KeePass entry title that stores the the wallet password
-keepasshttplabel=<name> KeepassHttp label that stores the encryption key
-keepasshttpkey=<key> KeePassHttp key for AES encrypted communication with the plugin
Set up steps:
1) Configure the following entries in the client .conf file: keepass=0, keepassdb and keepassentrytitle
2) Run the client
3) In the console, type: keepass init <label>
This will generate an AES key and populate it in the keepass database with the specified label. If an encryption key with the same label already exists, KeePass will ask for confirmation to overwrite. The command will return the additional configuration parameters for the .conf. Example:
keepasshttplabel=mainwallet
keepasshttpkey=SAV9dMzsJFi3Vp6X3RqGjLJHjp7D2j3zkTFOrlTyeYE=
4) Modify .conf file by setting keepass=1 and copy pasting the keepasshttplabel and keepasshttpkey values
5) Restart client
I would like to propose implementing KeePass integration in the core client. This would allow us to leverage all the security features that KeePass brings and make the client more secure.
More info regarding KeePass: http://keepass.info/
I believe this could be a key feature and would like to implement this for the darkcoind client v0.11 first. Core team, please let me know if this would be desired. If so, I would like to start working on this asap as I currently have a few days of availability to spend on this.
Did some preliminary investigation and here is what I would like to propose:
How:
KeePass integration will use KeePassHttp (https://github.com/pfn/keepasshttp/) to facilitate communications between the client and KeePass. KeePassHttp is a plugin for KeePass 2.x and provides a secure means of exposing KeePass entries via HTTP for clients to consume.
The integration would tie in with the following commands:
- walletpassphrase <passphrase> <timeout> [anonymizenonly]: if keepass is active and passphrase is 'keepass', the passphrase is retrieved from keepass
- walletpassphrasechange <oldpassphrase> <newpassphrase>: ik keepass is active and oldpassphrase is 'keepass', the passphrase will be updated in keepass
Prerequisites:
- have keepass2 installed
- have keepasshttp installed
Config and command line options:
-keepass=1 Use KeePass 2 integration using KeePassHttp plugin (default: 0)
-keepassdb=<name> KeePass database to use (mandatory when keepass integration is active)
-keepassentrytitle=<name> KeePass entry title that stores the the wallet password
-keepasshttplabel=<name> KeepassHttp label that stores the encryption key
-keepasshttpkey=<key> KeePassHttp key for AES encrypted communication with the plugin
Set up steps:
1) Configure the following entries in the client .conf file: keepass=0, keepassdb and keepassentrytitle
2) Run the client
3) In the console, type: keepass init <label>
This will generate an AES key and populate it in the keepass database with the specified label. If an encryption key with the same label already exists, KeePass will ask for confirmation to overwrite. The command will return the additional configuration parameters for the .conf. Example:
keepasshttplabel=mainwallet
keepasshttpkey=SAV9dMzsJFi3Vp6X3RqGjLJHjp7D2j3zkTFOrlTyeYE=
4) Modify .conf file by setting keepass=1 and copy pasting the keepasshttplabel and keepasshttpkey values
5) Restart client