Danny Moesch
e0c9ceb4fd
Add ability to import PGP keys from the Files app
2020-02-10 22:28:36 -08:00
Danny Moesch
5f6723246b
Some cosmetic changes
2020-02-10 10:32:14 -08:00
Danny Moesch
e447b1d9d3
Introduce PGPKeyImporter protocol to reduce code duplications
2020-02-10 09:59:24 -08:00
Danny Moesch
a2edf41d33
Update SwiftyUserDefaults to current version 5.0.0
2020-01-01 19:03:04 -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
Danny Moesch
44cb864642
Wrap GopenPGP errors into more understandable app errors
2019-10-20 11:35:52 -07:00
Danny Moesch
51c9510f3d
Introduce color provider to encapsulate check for iOS 13 availability
2019-10-01 22:48:15 +02: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
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
Yishi Lin
1ec26a0eea
Clean up very old migration codes
2019-07-19 01:46:56 +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
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
b806175842
Throw error in case PGP key files cannot be read
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
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
Mingshen Sun
82232be92c
remove some unwraps
2019-06-09 22:18:54 -07: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
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
d698f2e3c3
Use folder references for all groups and sort files/folders
2019-01-21 20:34:18 -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
08c91599b6
Use | operator to concatenate multiline strings
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
2d5ca58bd9
Use PasswordGeneratorFlavor class to set user defaults and UI elements
2019-01-20 21:04:04 -08:00
Danny Moesch
6b4dbd50a9
Support custom branches ( #236 )
2019-01-13 15:34:01 -08:00
Mingshen Sun
ed387069a4
lint: delete trailing whitespaces
2018-12-09 16:59:07 -08:00
Danny Moesch
6817f61e3b
Split PasswordHelpers and move components into Parser
2018-12-05 12:59:04 -08:00
Danny Moesch
3cd8df310c
Introduce enum for password generator flavour
2018-12-05 12:59:04 -08:00
Danny Moesch
60c509dba0
Remove YAML parsing error
2018-12-05 12:59:04 -08:00
Bob Sun
2bfb36c527
Cleanup code of error handling
2018-11-17 21:41:28 -08:00
Bob Sun
653ce515ab
Delete the removeFileIfExists funtion
...
I have no idea why I did write this helper function at the begining.
2018-11-16 22:49:41 -08:00
Danny Moesch
b6f94f8814
Introduce string extension property 'trimmed'
2018-11-13 15:38:18 -08:00
Danny Moesch
7c12263458
Separate parser and helpers from Password class for better testability
2018-11-11 11:30:39 -08:00
Bob Sun
2abbceb2e9
Set name and url in Password non-optional
...
Name and url in Password class shouldn't be optional because we store
them in core data as non-optional. This change also help us to avoid
man unneccessary unwrap.
2018-11-10 22:38:12 -08:00
Yishi Lin
38096f3f93
Cleanup the alert func in utils
2018-09-23 22:16:13 +08:00
Yishi Lin
1ab70cf6d7
Move codes from utils to password and passwordstore
2018-09-23 22:00:06 +08:00
Yishi Lin
429ac1c915
Move extension out of utils
2018-09-23 20:02:07 +08:00