Commit Graph

17 Commits (db41697dbfab2e611f92a4897a34fcf0942ebc06)

Author SHA1 Message Date
Johan Ouwerkerk db41697dbf Build libsodium as a CMake external project 2020-05-15 17:54:37 +02:00
Johan Ouwerkerk a9ed1507b2 Add support for encrypting/decrypting token secrets
Introduce a secrets library which implements the necessary crypto using
libsodium. This change provides the basic building blocks for resolving
issue #6.
2020-04-23 18:59:17 +02:00
Johan Ouwerkerk b451bd2556 Fix up licensing for REUSE compliance.
This adds licensing and copyright information where missing and normalises
existing licensing/copyright statements to SPDX metadata tags.
2020-04-10 13:34:31 +02:00
Bhushan Shah ec8838aa04 cmake: change the required cmake version to 3.10
This builds fine with cmake 3.10.X
2020-02-08 21:33:46 +05:30
Johan Ouwerkerk 8bd765e385 Remove the dependency on oath-toolkit.
This resolves issue #9.
2020-02-08 14:46:55 +01:00
Bhushan Shah 78240a9efb
Rename binary to keysmith
org.kde prefix is definitely unusual so get rid of it.
2019-12-31 20:04:35 +05:30
Bhushan Shah f4264b9c8c app: add i18n support 2019-12-31 19:34:33 +05:30
Johan Ouwerkerk 00821e1982 Use KDE standard BUILD_TESTING option instead of custom ENABLE_TESTING one. 2019-12-28 16:30:23 +01:00
Johan Ouwerkerk 70b50727c1 Bump Qt and KF5 frameworks versions:
- Ensure our Qt minimum requirement is not less than that of Kirigami
 - Take the opportunity to bump frameworks version while we're still in review.
2019-12-28 14:43:11 +01:00
Friedrich W. H. Kossebau 7daddb524c Cleanup CMakeLists.txt a bit
* do cmake_minimum_required as first thing, as recommended
* bump KF to 5.37, first release with Kirigami (Qt 5.7 matching min dep)
* use KF5_MIN_VERSION also with ECM
* include KDE CMake settings as first
* remove unused cmake includes
* remove duplicated enable_testing()
* use correct KDEInstallDirs variables
2019-12-18 17:29:13 +01:00
Bhushan Shah 3da22c1de6 install new icon file and edit metadata 2019-11-03 11:57:25 +05:30
Johan Ouwerkerk f87d014ce5 Respect ENABLE_TESTING, but build tests by default 2019-10-22 19:34:38 +02:00
Johan Ouwerkerk 33b1ec033e Fixup CMakeLists find_packages(): Kirigami is required, and Qt5::Test was mentioned twice 2019-10-22 19:34:38 +02:00
Johan Ouwerkerk e6a53b6f3b Rebrand otpclient as Keysmith 2019-10-21 19:16:51 +02:00
Johan Ouwerkerk 6d7c56f94b Add autotests for validating the new base32 decoding utilities. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 4cb92b80df Enable C++17, and use 'standard' CMake features for doing so. 2019-09-09 11:20:32 +02:00
Bhushan Shah 8819d205f9 Initial code for OTP client
It uses the oath-toolkit[1] provided library liboath to generate the 2FA
codes, both TOTP and HOTP based. Currently it is largely untested. From
initial rough testing it seems that auto-refreshing of code is not
working. Also button to refresh token for HOTP is also dummy at moment.

Some todo items include,

- Verify the generated oath code is correct
- Make refreshing token work
- QR code scanning
- Backup and Restore of accounts
- Clipboard support to automatically copy code.
- Encrypted storage of the secret token

This code is largely based on the authenticator-ng[2] application by the
Rodney Dawes and Michael Zanetti for the Ubuntu Touch.

[1] https://www.nongnu.org/oath-toolkit/
[2] https://github.com/dobey/authenticator-ng
2019-03-25 02:58:56 +05:30