Commit graph

168 commits

Author SHA1 Message Date
Danny Moesch
01ac9d38df Adapt code to changed API of GopenPGP 2019-11-08 14:05:25 -08:00
Danny Moesch
44cb864642 Wrap GopenPGP errors into more understandable app errors 2019-10-20 11:35:52 -07:00
Yishi Lin
e4630e950d Init PGPAgent while getting keyID 2019-10-02 11:04:10 +08:00
Danny Moesch
b349427d7e Remove checks for iOS 8 as the minimum deployment target is iOS 10.2 2019-10-01 22:52:59 +02:00
Danny Moesch
51c9510f3d Introduce color provider to encapsulate check for iOS 13 availability 2019-10-01 22:48:15 +02:00
Yishi Lin
e0c32003e3 Cleanup and fix the erase logic
Explicitly uninit PGP agent during erasing all data.
2019-10-01 00:40:37 +08:00
Yishi Lin
230b421a90 Add the passcode cache back 2019-10-01 00:16:56 +08:00
Yishi Lin
e332b1f3be Do not forget pgp passphrase on decryption error #296 2019-09-30 02:05:01 +08:00
Yishi Lin
6b00d4911b Fix a decryption bug 2019-09-30 00:12:54 +08:00
Mingshen Sun
504d9619fc
UI tweaks for PasscodeLockView 2019-09-28 17:37:12 -07:00
Yishi Lin
c4f0462d43 Update the passcode lock view 2019-09-29 00:28:46 +08:00
Yishi Lin
35f599c45b Allow resettig app in the passcodelockview 2019-09-28 21:38:32 +08:00
Danny Moesch
a496d54ffa Support Dark Mode in passcode lock view 2019-09-23 15:39:50 -07:00
Danny Moesch
414e31cba3 Adapt UI with respect to Dark Mode 2019-09-22 22:30:20 -07:00
Danny Moesch
c824bb10e7 Introduce constants for Git password identifiers 2019-09-15 00:32:18 -07:00
Danny Moesch
730542d5bb Separate encryption/decryption logic for different frameworks used 2019-09-15 00:32:18 -07:00
Danny Moesch
4c3aa4938d Add extension to convert objects of type Data to instances of NSMutableData
This process is necessary because of an issue (https://github.com/golang/go/issues/33745) in gomobile. Passing bare Data objects to Go functions leads to nondeterministic behavior.
2019-09-15 00:32:18 -07:00
Moritz Kuntze
21c172f9a8 Upgrade GopenPGP and remove Gopenpgpwrapper glue code 2019-09-15 00:32:18 -07:00
Yishi Lin
58e7e1b4e4 Version bump to 0.8.0 2019-07-28 00:16:27 +08:00
Yishi Lin
032e442d78
Merge pull request #292 from SimplyDanny/make-simulator-untouched-by-tests
Do not influence the Simulator by tests
2019-07-21 13:39:53 +08:00
Danny Moesch
5c7d4e55a4 Introduce KeyStore protocol in order to provide specialized key store implementations for tests
With the DictBasedKeychain the main AppKeychain is not influenced by tests. The previous implementation led to an empty Keychain requiring a new setup of the simulator.
2019-07-20 23:42:32 +02:00
Danny Moesch
b42401343d Let AppKeychain not be static only 2019-07-20 23:42:32 +02:00
Danny Moesch
3eaf00f9fd Move 'keyHandler' in KeyFileManager from constructor to function 2019-07-20 23:42:32 +02:00
Danny Moesch
ea37b40e2f Mark field 'gpgAgent' as never-nil 2019-07-20 22:59:22 +02:00
Yishi Lin
2ece3ef07a Clean up codes in PGPAgent
After the migration, there is nothing there.
2019-07-21 02:25:21 +08:00
Yishi Lin
e967bb1f4c Add PGPAgent tests and minor updated 2019-07-20 00:41:45 +08:00
Yishi Lin
1ec26a0eea Clean up very old migration codes 2019-07-19 01:46:56 +08:00
Mingshen Sun
7cf9311f95
Delete useless print 2019-07-16 23:36:25 -07:00
Yishi Lin
584b634689 Cleanup the previously set keys before init 2019-07-17 13:35:16 +08:00
Yishi Lin
6ae4a02a01 Seperate PGPAgent from PasswordStore and add tests 2019-07-17 02:58:01 +08:00
Yishi Lin
0862c1388e Use ObjectivePGP if Gopenpgp fails 2019-07-17 00:19:23 +08:00
Mingshen Sun
79d0df2c89
Version bump to 0.7.0 2019-07-13 16:10:36 -07:00
Danny Moesch
8e8501abb0 Save app passcode in Keychain and migrate existing passcode from SharedDefaults 2019-07-10 21:47:40 -07:00
Danny Moesch
cc493cb490 Allow setting a nil value in AppKeychain.add to delete existing content 2019-07-03 21:45:27 -07:00
Danny Moesch
fa2fde1af4 Leave key source settings unchanged when migrating 2019-07-03 21:45:27 -07:00
Danny Moesch
149edc1cbc Only migrate if possible (do not stop after first failure) 2019-07-03 21:45:27 -07:00
Danny Moesch
f1337622dc Store SSH private keys in Keychain instead of files 2019-07-03 21:45:27 -07:00
Danny Moesch
6b95e60ea1 Introduce CryptographicKey protocol 2019-07-03 21:45:27 -07:00
Danny Moesch
5f19c348c8 Keep global constants for armor keys and clean them up during migration and user initiated key removal 2019-07-02 13:50:16 -07:00
Danny Moesch
7bee780b46 Extract key importing logic and put it into separate class 2019-07-02 13:50:16 -07:00
Danny Moesch
47c9af0127 Fix wrong Keychain key string
This caused the private PGP key passphrase to remain unchanged although the key itself was removed.
2019-07-02 13:50:16 -07:00
Danny Moesch
b806175842 Throw error in case PGP key files cannot be read 2019-07-02 13:50:16 -07:00
Danny Moesch
f0003227d5 Delete key files after migrating them to Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
441a7f1e9b Put Keychain related methods to separate class 2019-07-02 13:50:16 -07:00
Danny Moesch
e4e4c6daff Implement migration of existing PGP keys into Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
a66a79abc6 Store PGP keys in Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
ca3271b20a Restrict passwords in Keychain only to "this" device and disable iCloud syncing 2019-07-02 13:50:16 -07:00
Danny Moesch
5d1a3eae1a Make 'keychain' a static class variable 2019-07-02 13:50:16 -07:00
Yishi Lin
0ec5b5cd80 Fix the git add path 2019-06-15 16:21:37 +08:00
Mingshen Sun
82232be92c
remove some unwraps 2019-06-09 22:18:54 -07:00