Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorFelix Geyer <debfx@fobos.de>2012-01-06 23:05:46 +0400
committerFelix Geyer <debfx@fobos.de>2012-01-06 23:05:46 +0400
commit2f5d11014949798a96fbcce4bf2306afc1ccbf8a (patch)
tree95b8bfb5b0d1775cb0bf7d38a80f75b29b42ff9e /utils
parent007a901dbae08d8a196d2eff38f15856db27da29 (diff)
Support key files in kdbx-extract.
Diffstat (limited to 'utils')
-rw-r--r--utils/kdbx-extract.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/utils/kdbx-extract.cpp b/utils/kdbx-extract.cpp
index 0e3be6920..762ec83d8 100644
--- a/utils/kdbx-extract.cpp
+++ b/utils/kdbx-extract.cpp
@@ -25,6 +25,7 @@
#include "crypto/Crypto.h"
#include "format/KeePass2Reader.h"
#include "keys/CompositeKey.h"
+#include "keys/FileKey.h"
#include "keys/PasswordKey.h"
int main(int argc, char **argv)
@@ -32,16 +33,23 @@ int main(int argc, char **argv)
QCoreApplication app(argc, argv);
if (app.arguments().size() != 3) {
- qCritical("Usage: kdbx-extract <password> <kdbx file>");
+ qCritical("Usage: kdbx-extract <password/key file> <kdbx file>");
return 1;
}
Crypto::init();
CompositeKey key;
- PasswordKey password;
- password.setPassword(app.arguments().at(1));
- key.addKey(password);
+ if (QFile::exists(app.arguments().at(1))) {
+ FileKey fileKey;
+ fileKey.load(app.arguments().at(1));
+ key.addKey(fileKey);
+ }
+ else {
+ PasswordKey password;
+ password.setPassword(app.arguments().at(1));
+ key.addKey(password);
+ }
QFile dbFile(app.arguments().at(2));
if (!dbFile.exists()) {