Janek Bevendorff
871332ecf0
Add warning when using legacy key file formats.
2018-01-14 18:26:28 -05: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
Janek Bevendorff
901bf62213
Generate random 128-byte stream instead of legacy XML format when creating key files
...
Add API documentation for FileKey class
Resolves #1325
2017-12-26 22:37:45 +01:00
Janek Bevendorff
ab21f718ba
Merge branch 'release/2.2.2' into develop
2017-10-12 14:10:20 +02:00
Jonathan White
3bc8a79b9b
Both slots on Yubikey are now polled for challenge/response
2017-10-09 09:39:47 -04:00
Jonathan White
14e3d9d576
Merge remote-tracking branch 'origin/master' into develop
...
# Conflicts:
# src/core/Group.cpp
2017-10-01 11:10:10 -04:00
Jonathan White
8e7fa3d3d6
Corrected multiple Yubikey bugs ( #880 )
...
* Fixed database not showing modified after failed save
* Fixed Yubikey not being redetected after replug
* Fixed single shot challenge resulting in failed saves
2017-09-23 11:45:20 -04: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
seatedscribe
06bbd6e066
Get rid of Q_{EMIT,SLOTS,SIGNALS}
2017-03-16 21:46:53 +01:00
Janek Bevendorff
429bef6830
Remove unused debug function
2017-03-10 18:06:22 +01:00
Janek Bevendorff
44206cf088
Fix stub compilation
2017-02-25 17:04:00 +01:00
Janek Bevendorff
9a94c6d85e
Remove debug output to reduce console spam when running in debug mode
2017-02-24 20:50:06 +01:00
Janek Bevendorff
46942413db
Fix unit test crash
2017-02-24 19:47:03 +01:00
Janek Bevendorff
18844d096a
Make other YubiKey driver methods thread-safe
2017-02-24 17:50:19 +01:00
Janek Bevendorff
b10cb1c83c
Show YubiKey message from MainWindow to ensure it's always shown when a challenge is generated
2017-02-24 17:27:27 +01:00
Janek Bevendorff
d6c48a5cf1
Show message when user needs to touch their YubiKey (still buggy when using multiple databases)
2017-02-24 03:25:08 +01:00
Janek Bevendorff
44ac7d152b
Use better variable names
2017-02-24 01:09:24 +01:00
Janek Bevendorff
70816f90b2
Make challenge() member thread-safe
2017-02-24 01:05:31 +01: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
b2650c5a96
Hide UI elements when KeePassXC was compiled without -DWITH_XC_YUBIKEY
2017-02-21 01:06:32 +01:00
Janek Bevendorff
8d3e0687a0
Restructure doc comments and make hard-coded strings translatable
2017-02-21 00:28:01 +01:00
Janek Bevendorff
eb23dda99b
Remember if challenge-response was used for each database and allow to re-detect Yubikeys without closing the database first
2017-02-20 22:07:01 +01:00
Janek Bevendorff
e17576a6f7
Merge branch 'develop' into feature/yubikey
2017-01-15 03:20:21 +02:00
Janek Bevendorff
6fd7427cae
Merge branch 'develop' into feature/updateKdbxExtract
2017-01-14 22:21:41 +02:00
Louis-Bertrand Varin
798041fe11
Extract readKeyFromLine.
2017-01-14 13:25:30 -05:00
Josh Soref
53e0893b51
spelling: correct
2017-01-14 17:31:38 +01: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
62190d79be
YubiKey: Whitespace clean-up
...
* This was bugging me. Oops.
* No functional changes.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:43:30 -08:00
Kyle Manna
f7ee528d41
YubiKey: Retry to recover hotplugging
...
* Attempt one retry in the event the event the device was removed and
re-inserted.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:43:23 -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
5b8b4c8c7b
keys: yk: Implement ChallengeResponseKey for YubiKey
...
* Implement a YubiKey challenge response class. One object will be
created for each challenge response key available.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:20:16 -08:00
Kyle Manna
82aed2caab
keys: yk: Add YubiKey hardware driver support
...
* Use compile time detection of the YubiKey libraries and link against
the libraries if present. Can be disabled with:
$ cmake -DCMAKE_DISABLE_FIND_PACKAGE_YubiKey=FALSE
* A stub file provides empty calls for all the function calls integrated
in to the UI to support this. In the future a more modular approach
maybe better, but opting for simplicity initially.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:18:59 -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
Kyle Manna
9bdb41a727
keys: Add ChallengeResponseKey header
...
* Add initial header file for forthcoming challenge response support.
* A ChallengeResponseKey operates by submitting some challenge data and
getting a deterministic result.
* In the case of the forthcoming YubiKey integration, the master seed is
submitted as the challenge to the YubiKey hardware and the YubiKey
returns a HMAC-SHA1 response.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:03:47 -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
ecfbf72a57
Merge branch '2.0'
2015-12-15 21:05:00 +01:00
Felix Geyer
2fa531745f
Check XML key file for valid base64 before using it.
...
QByteArray::fromBase64() doesn't validate the input.
Closes #366
2015-11-01 18:32:15 +01:00
Felix Geyer
dff3fc0572
Coding style fixes.
2015-10-15 18:02:31 +02:00
Felix Geyer
7fa0eddc5f
Make C++11 mandatory.
2015-09-12 13:55:50 +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