Danny Moesch
730542d5bb
Separate encryption/decryption logic for different frameworks used
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
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
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
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
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
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
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
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
Danny Moesch
38b44cedf8
Add missing error messages and name them consistently
...
Since the AppError enum is suffixed with 'Error', the elements itself do not need this suffix, too.
2019-01-20 21:04:04 -08:00
Danny Moesch
1b4040135e
Localize strings in code
2019-01-20 21:04:04 -08:00
Danny Moesch
6b4dbd50a9
Support custom branches ( #236 )
2019-01-13 15:34:01 -08:00
Danny Moesch
744b46adc2
Do not show 0 if numbers in "About Repository" cannot be obtained properly
2019-01-12 16:36:37 -08:00
Danny Moesch
f47e7d384c
Show correct number of commits in "About Repository"
2019-01-12 16:36:37 -08:00
Danny Moesch
64956c6643
Simplify code
2018-12-18 10:06:45 -08:00
Mingshen Sun
ed387069a4
lint: delete trailing whitespaces
2018-12-09 16:59:07 -08:00
Danny Moesch
5780a439db
Show number of hidden fields in password view
2018-12-08 21:15:51 -08:00
Danny Moesch
68dd60fb8e
Introduce utility methods to test for unknowns and OTP keywords
2018-12-08 21:15:51 -08:00