Commit graph

16 commits

Author SHA1 Message Date
Alexander Bakker
c3f94b37c8 Use GCM instead of a hash to check master key integrity
This is the last database format change before the initial release, probably
2018-06-06 19:38:13 +02:00
Alexander Bakker
964fc72fba Don't try to catch exceptions that'll never be thrown 2018-06-05 15:49:00 +02:00
Alexander Bakker
f1a03638a0 Make sure we only catch specific exceptions instead of catching them all 2018-03-19 18:00:53 +01:00
Alexander Bakker
a778cd5661 Don't try to zero out sensitive memory
Perhaps revisit this later
2018-02-13 21:01:27 +01:00
Alexander Bakker
576f908e01 Match slot ID's to keystore aliases 2018-02-10 17:20:41 +01:00
Alexander Bakker
da2f69f860 Use IvParameterSpec instead of GCMParameterSpec
Partially fixes API level 19 compatibility
2017-12-26 14:40:28 +01:00
Alexander Bakker
c0bdd261b5 Clean things up a bit 2017-11-26 19:03:13 +01:00
Alexander Bakker
7269cc2b6a Verify integrity of decrypted slots and display a dialog on error 2017-08-18 22:12:45 +02:00
Alexander Bakker
1f6bceddb7 Simplify the toBytes helper function a bit 2017-08-07 22:54:23 +02:00
Alexander Bakker
911b2fab78 Replace PBKDF2 with scrypt, provided by Spongy Castle 2017-08-07 22:38:36 +02:00
Alexander Bakker
722ea50b68 Add an activity to decrypt the database 2017-08-06 18:24:12 +02:00
Alexander Bakker
53e86db187 Start hooking up the intro to the database code
Fingerprint stuff has been left out for now
2017-08-06 18:21:01 +02:00
Alexander Bakker
c79c9f84dc Add remnant local changes 2017-08-06 18:21:01 +02:00
Impyy
e8e7a822c5 Push some work on yet another rework of the database. This time with slots!
Details are in doc/db.md
2017-08-06 18:21:01 +02:00
Impyy
9de0f35104 Replaced the sqlcipher database with a custom one
Still a WIP. This change was made to allow us to use Android's SecretKey API.
Which in turn allows us to store our secret keys in the Android KeyStore.

You can read about the database file format here: doc/db.md
2017-08-06 18:21:01 +02:00
Impyy
8063ba11f1 Initial pass on adding support for persistence using sqlcipher
To keep the database schema simple we just save the
otpauth:// url and let KeyInfo take care of checking for
validity.

This patch also includes multiple fixes for the KeyInfo
class.

We still need a separate activity to allow the user to
enter their PIN/password. Currently, "test" is used as the
password for the database.
2016-08-22 22:44:09 +02:00