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
Danny Moesch
adff0c1142
Fix #258 : Remove existing key files before moving new ones to the same location
2019-05-15 22:49:46 +02:00
Yishi Lin
451e2f6fbb
Fix 262: save context after editing
2019-05-15 01:12:10 +08:00
Yishi Lin
ebb3566616
Cleanup old migration codes
2019-05-15 01:09:58 +08:00
Danny Moesch
44870af774
Trust in assigned default value
...
In particular, SwiftyUserDefaults returns the default value in case it does not find a value in the dictionary. As the default is '.all' it does not have to be set explicitly. Assigning 'nil' will result in '.all' anyway.
2019-05-04 22:15:23 +02:00
Danny Moesch
c2cd6481fd
Utilize default settings values
2019-05-01 18:30:13 +02:00
Danny Moesch
f9c19b3ca4
Migrate to Swift 5.0
2019-05-01 18:30:13 +02:00
Danny Moesch
e06413b348
Add default value to non-optional DefaultsKeys
2019-05-01 18:30:13 +02:00
Danny Moesch
89c0d3c98e
Assign nil by unwrapping optional
2019-05-01 17:09:34 +02:00
Danny Moesch
9e0d60989b
Remove unnecessary returns
2019-05-01 17:08:44 +02:00
David Beitey
f98d56753b
Add ability to hide password images
...
This disables loading of favicon images associated with password entries
and hides any images that are already loaded, using the generic icon
instead.
The key benefit to this option is to prevent passforios revealing that a
given device has a password in its store, which could be gleaned from
the fact that favicons are being loaded in this manner.
2019-03-03 10:54:30 -08:00
Danny Moesch
3cf55d91ff
Display last updated date in absolut instead of relative form
...
This is necessary to have a language independent representation. For example, the previous format would have produced a grammatically wrong term in German.
2019-02-23 14:22:27 -08:00