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
b04c8c2b6e
Explicitly support AES-KDF in KDBX4 and don't convert KDBX4 files with AES-KDF back to KDBX3 when saving
2018-01-13 14:25:00 -05: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
Janek Bevendorff
15648991fc
Refactor Kdf class, remove fields concept
2018-01-13 14:23:28 -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
ef06165ea2
keys: CompositeKey: Change Q_FOREACH to C++11 for()
...
* Use the C++11 range based loop as recommended from
https://github.com/keepassxreboot/keepassxc/pull/119
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 18:47:54 -08:00
Pedro Alves
d398d367c1
Allow a previously yubikey protected database to be saved without the yubikey challenge-response code.
2017-01-08 16:48:12 -08: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
fff9e7ac46
Convert Q_FOREACH loops to C++11 for loops.
...
Q_FOREACH will de deprecated soon.
2016-10-02 21:45:55 -04:00
Felix Geyer
dff3fc0572
Coding style fixes.
2015-10-15 18:02:31 +02:00
Felix Geyer
460b23b1eb
Use QElapsedTimer everywhere.
2015-09-12 13:51:49 +02:00
Felix Geyer
208b0f39e6
Adapt to QtConcurrent being a separate module now.
2015-09-12 13:51:49 +02:00
Florian Geyer
f22069bb11
Use higher increment for transform rounds in benchmark.
...
Thanks to Sami Farin for providing a patch.
Closes #305 .
2015-07-12 21:48:55 +02:00
Felix Geyer
4362c3ea38
Handle cipher errors in TransformKeyBenchmarkThread.
2015-05-09 23:38:04 +02:00
Felix Geyer
f6243675c9
Warn if result of processInPlace() is unchecked.
...
Fix callers accordingly.
2015-05-09 23:21:50 +02: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
7e9343c697
Fix CompositKey self assignment.
2012-07-17 10:57:08 +02:00
Felix Geyer
ee3bc89a54
Coding style fixes.
2012-06-30 00:22:07 +02:00
Felix Geyer
efb40a6567
Fix transform round benchmark.
2012-05-12 15:39:33 +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
d5fc1bf0b4
Improve performance of the key transformation.
2012-05-07 14:31:18 +02:00
Felix Geyer
f753728e97
Only use one additional thread in CompositeKey::transform().
2012-05-03 12:21:42 +02:00
Felix Geyer
0ad4b3d8fe
Minor improvements in CompositeKey and TestKeys.
2012-04-25 18:35:30 +02:00
Florian Geyer
db52267400
Clear keys in assignment operator of composite key.
...
Fixes corruption of key if master key and then transform rounds is changed.
2012-04-21 18:28:06 +02:00
Felix Geyer
2e011d5362
Improve code style.
2012-04-18 22:08:22 +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
230d24a123
No longer use automoc.
2010-11-21 23:06:30 +01:00
Felix Geyer
9f282928e8
Implement reading encrypted kdbx files.
2010-09-13 23:24:36 +02:00