Commit graph

16 commits

Author SHA1 Message Date
Alexander Bakker
6a5323b12b Make the Google Authenticator Protobuf parser more complete
I don't think Google Authenticator actually currently supports any of these
extra digit/algorithm options, but they're specified in the proto file, so we
should support them for completeness sake.
2020-12-07 21:28:27 +01:00
Alexander Bakker
5a9da45a8e Strip " " and "-" when parsing secrets 2020-10-24 14:25:10 +02:00
Michael Schättgen
4e00191039 Add ability to transfer tokens with qr codes
Add minor improvements

Add label to activity
2020-06-06 12:23:28 +02:00
Alexander Bakker
56bde0e19b Add support for importing from the new Google Authenticator export QR codes 2020-05-11 14:02:59 +02:00
Alexander Bakker
cda78c56c5 Improve overall exception handling and error feedback to the user
The main goals of this patch are to:
- Improve the exception handling in Aegis and the way we present errors messages
  to the user when they occur.
- Write exception stack traces to the log in more places, so that the ADB logs
  we ask for from our users when reporting bugs become more useful.
- Reduce the amount of times we throw a RuntimeException, particularly when an
  Android Keystore operation fails.

Achieving the above goals ended up resulting in a very large refactor. The
intro and unlock flow of the app need to be retested entirely.
2020-05-09 16:12:38 +02:00
Alexander Bakker
0c7b41747e Add support for otpauth://steam URI's
Close #343
2020-04-18 12:22:57 +02:00
Alexander Bakker
2bf3546971 Make the parsing logic of the QR code URI more robust 2020-02-19 11:17:16 +01:00
Alexander Bakker
10ac1af6b0 Replace implementations of Base16, Base32 and Base64 with Guava
I kept the classes in the encoding package and turned them into wrappers for
Guava. I also changed the functions in the Base32 class to take and return
strings insteads if character arrays.
2020-02-01 14:11:55 +01:00
Alexander Bakker
58d13ba9e3 Check for the possibility of an overflow when parsing OTP period
The conversion of the OTP period value to milliseconds may overflow for large
values, causing the result to wrap around to Integer.MIN_VALUE. This
subsequently caused a crash when calling ObjectAnimator.setDuration.
2019-08-28 19:46:47 +02:00
Michael Schättgen
b958145761 Fix bug where parsing otp codes was impossible
Y I K E S
2019-04-17 13:37:53 +02:00
Alexander Bakker
2a0daae155 Fix crash that occurred when scheme of the URI in a QR code is missing 2019-04-10 11:42:35 +02:00
Alexander Bakker
1dd5f893da Add support for Steam OTP 2019-04-01 22:37:52 +02:00
Alexander Bakker
29aa81765b Rewrite the HOTP/TOTP code to be more compact and support more digits 2019-03-26 00:59:57 +01:00
Alexander Bakker
066a7447c0 Support an arbitrary number of digits 2019-03-26 00:59:51 +01:00
Alexander Bakker
ad1d3f04a6 Add support for importing from Google Authenticator
Close #29
2019-03-23 22:43:24 +01:00
Alexander Bakker
62425511a1 Rename package to com.beemdevelopment.aegis 2019-02-07 22:39:33 +01:00