Commit Graph

25 Commits

Author SHA1 Message Date
Gianluca Recchia
1d9f46ebc5 Fix the position of the Q_REQUIRED_RESULT macro (#2411)
The Q_REQUIRED_RESULT macro was appended to a few method declarations.
It should've been prepended instead.
2018-10-24 08:09:12 -04:00
Janek Bevendorff
e443cde452 Add a new database settings wizard
This patch implements a new database wizard to guide users through the process
of setting up a new database and choosing sane encryption settings.

It also reimplements the master key settings to be more
user-friendly. Users can now add, change, or remove individual composite
key components instead of having to set all components at once. This
avoids confusion about a password being reset if the user only wants to
add a key file.

With these changes comes a major refactor of how database composite keys and key
components are handled. Copying of keys is prohibited and each key
exists only once in memory and is referenced via shared pointers. GUI
components for changing individual keys are encapsulated into separate
classes to be more reusable. The password edit and generator widgets
have also been refactored to be more reusable.
2018-09-25 21:12:47 +02:00
Louis-Bertrand Varin
8324d03f0a Formatting the code. 2018-03-31 16:01:30 -04:00
Janek Bevendorff
2f821af0a0 Raise error if challenge-response failed during KDBX4 key transformation, resolves #1656 2018-03-06 22:08:09 +01:00
Janek Bevendorff
df728083cc Add challenge response to key before transformation, resolves #1060
* Re-implement KDBX4 challenge-response key assembly with transform
seed instead of master seed
2018-01-13 14:24:59 -05:00
angelsl
2e19af5032 Pull out KDFs into their own class hierarchy
In preparation for multiple KDFs in KDBX 4
2018-01-13 14:23:20 -05:00
louib
1d30283514 Feature : --key-file option for CLI (#816)
* removing readFromLine

* Removing gui-prompt

* execute uses an arg list.

* Testing with key-file

* Fixing the -a option in EntropyMeter.
2017-07-25 13:41:52 -04:00
thez3ro
a53b111182 Update and fix copyright headers 2017-06-14 15:54:43 +02:00
Janek Bevendorff
093fe5c7ef Use QSharedPointer instead of cloning YkChallengeResponseKey and make it a QObject to allow emitting signals 2017-02-23 23:52:36 +01:00
Janek Bevendorff
e17576a6f7 Merge branch 'develop' into feature/yubikey 2017-01-15 03:20:21 +02:00
Louis-Bertrand Varin
798041fe11 Extract readKeyFromLine. 2017-01-14 13:25:30 -05:00
Kyle Manna
faa055010f challenge: Propagate failed challenge to caller
* If a removed Yubikey is to blame, re-inserting the Yubikey won't
  resolve the issue.  Hot plug isn't supported at this point.
* The caller should detect the error and cancel the database write.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:40:25 -08:00
Kyle Manna
ccd6704b8f keys: CompositeKey: Add ChallengeResponseKey support
* Each Challenge Response Key consists of a list of regular keys and now
  challenge response keys.
* Copy ChallengeResponseKeys when copying the object.
* Challenge consists of challenging each driver in the list and hashing
  the concatenated data result using SHA256.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:14:43 -08:00
Felix Geyer
a762cef0a9 Catch and handle all errors from libgcrypt. 2015-05-09 23:21:44 +02:00
Felix Geyer
6504b6f2bd Drop Qt module name from include statements.
This is a preparation to be able to build KeePassX against Qt 5.
2013-10-03 15:18:16 +02:00
Felix Geyer
b8b4d35763 Add CompositeKey::isEmpty(). 2012-10-12 12:10:13 +02:00
Felix Geyer
8122ab2b2c Use quint64 everywhere for the transform rounds number. 2012-05-08 22:31:09 +02:00
Felix Geyer
7790f2e7ba Add CompositeKey::transformKeyBenchmark().
This method tests how many key transformation rounds can be calculated
within a specific time.
2012-05-07 14:41:31 +02:00
Felix Geyer
0ad4b3d8fe Minor improvements in CompositeKey and TestKeys. 2012-04-25 18:35:30 +02:00
Felix Geyer
3df2ad35cb Constification and some style fixes. 2012-04-23 21:09:01 +02:00
Felix Geyer
0ad1bf0a70 Add CompositeKey::clear(). 2012-01-11 23:59:50 +01:00
Felix Geyer
0014d50b59 Deep copy subkeys when cloning CompositeKey. 2011-11-13 14:52:43 +01:00
Felix Geyer
9ef105e1ae Use QtConcurrentRun instead of subclassing QThread. 2011-11-12 01:49:19 +01:00
Felix Geyer
d4f02a78a7 Coding style fixes. 2011-07-08 14:51:14 +02:00
Felix Geyer
9f282928e8 Implement reading encrypted kdbx files. 2010-09-13 23:24:36 +02:00