Commit graph

139 commits

Author SHA1 Message Date
Mingshen Sun
e9c5b63c4b Refactor logic of request PGP key passphrase 2020-04-13 21:23:23 -07:00
Mingshen Sun
e62f4714e8 Encryption support for multi keys 2020-04-13 21:23:23 -07:00
Mingshen Sun
b7ee00815c Partially implement multikeys support (decryption) 2020-04-13 21:23:23 -07:00
Mingshen Sun
84b1c07f64 Update to gopengpg v2.0.0 2020-04-12 20:15:49 -07:00
Danny Moesch
b3bde9e0e0 Implement Siri shortcut to sync repository per automation task 2020-03-16 10:13:49 -07:00
Yishi Lin
6bf4716366 Better search results 2020-02-23 18:06:14 +08:00
Mingshen Sun
2dc8182fe8
Update core data in main thread 2020-02-18 11:04:08 -08:00
Danny Moesch
94a5f8c501 Introduce KeyImporter protocol to reduce code duplications in SSH key importers 2020-02-16 10:17:58 -08:00
Danny Moesch
5f6723246b Some cosmetic changes 2020-02-10 10:32:14 -08:00
Danny Moesch
a5bc60bf58 Do not assume lowercased OTP keywords 2020-01-18 15:01:05 -08:00
Danny Moesch
a2edf41d33 Update SwiftyUserDefaults to current version 5.0.0 2020-01-01 19:03:04 -08:00
Danny Moesch
b60ce3b003 Fix #340: Always end password entries with a newline 2019-12-10 22:03:49 -08:00
Mingshen Sun
cea1332b0d
Fix some UI issues introduced by refactoring 2019-12-01 00:25:24 -08:00
Mingshen Sun
efdc45ea89
Move the request credential function into one file 2019-11-30 23:05:30 -08:00
Mingshen Sun
2f3e51947a
Refactor the request credential function 2019-11-30 22:39:21 -08:00
Mingshen Sun
902930ddfc
Cleanup GitServerSettingTableViewController 2019-11-30 17:37:09 -08:00
Mingshen Sun
258906fdbb
Refactor Git URL related code, fix #336 2019-11-30 15:11:28 -08:00
Mingshen Sun
a07f3af4e2
Forgot to saveUpdateContext() in edit 2019-11-18 18:08:31 -08:00
Yishi Lin
30bb227ae3 Fix #332: The synced status is now saved in DB 2019-11-19 02:19:57 +08:00
Danny Moesch
4c47729a6e Fix #326: Do not assume 'master' as the default checked out branch 2019-11-08 14:30:56 -08: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
35f599c45b Allow resettig app in the passcodelockview 2019-09-28 21:38:32 +08: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
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