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
Mingshen Sun
c66439c2f9
passKit: fix warnings
2019-06-08 18:03:04 -07:00
Moritz Kuntze
96f7c1960d
Changed PGP backend from ObjectivePGP to GopenPGP
2019-06-08 10:39:17 -07:00
Yishi Lin
43ff63e01d
Do no prompt repeatedly for the SSH passphrase
2019-05-20 01:26:53 +08:00
Meris Bahtijaragic
c59c72729b
Get username from filepath. ( #265 )
2019-05-17 23:30:41 +08:00