Commit Graph

230 Commits

Author SHA1 Message Date
Kyle Spearrin 62add53c08 clear org key cache 2017-08-30 22:15:10 -04:00
Kyle Spearrin 10b22e9e42 update and refactor for settings changes 2017-08-29 16:03:26 -04:00
Kyle Spearrin 5932dd99ad remove to web vault url 2017-08-28 18:08:26 -04:00
Kyle Spearrin 910f0083cd allow setting vault url for environment 2017-08-28 17:50:17 -04:00
Kyle Spearrin b5107d21dd set custom environment urls from home page 2017-08-23 11:40:40 -04:00
Kyle Spearrin 0eb68ec461 revert old bearer code. use bearer scheme again 2017-08-10 10:16:58 -04:00
Kyle Spearrin 745ad3b9e9 better null checks for tokens 2017-07-31 10:23:52 -04:00
Kyle Spearrin 4e8f69f692 paperclip icon for attachments in listing 2017-07-23 00:09:24 -04:00
Kyle Spearrin f9d336a3a6 attachments page with upload/delete 2017-07-22 15:38:08 -04:00
Kyle Spearrin 26c110291e totp code generation on view login 2017-07-13 14:44:02 -04:00
Kyle Spearrin 9879f074b4 decrypt with org id 2017-07-13 12:08:48 -04:00
Kyle Spearrin e0c67f87b0 only clear cache if it hasnt been done in a while 2017-07-13 11:11:04 -04:00
Kyle Spearrin 0d672c4f99 sync attachment removals 2017-07-12 23:36:27 -04:00
Kyle Spearrin ac3fdbc2cd download, decrypt and open attachment files 2017-07-12 23:09:44 -04:00
Kyle Spearrin 0a7ad44d23 sync and display attachments on view login 2017-07-12 16:23:24 -04:00
Kyle Spearrin ae35bd2047 encode email for token service key 2017-06-27 16:51:16 -04:00
Kyle Spearrin 2f0ca6f7c0 user specific remember two factor 2017-06-27 16:45:12 -04:00
Kyle Spearrin 37428c01dd remeber two factor token 2017-06-27 16:35:29 -04:00
Kyle Spearrin 4116d95a3e refactors for new 2fa flows 2017-06-27 16:18:32 -04:00
Kyle Spearrin 7823ec3fc8 hmac check on rsa decrypt 2017-06-19 11:57:37 -04:00
Kyle Spearrin 93176989fd centralized crypto utils. keystore with rsa. 2017-06-05 21:04:19 -04:00
Kyle Spearrin d018eeb376 key on login bug 2017-06-02 16:53:43 -04:00
Kyle Spearrin 753d01d413 update fingerprint libraries 2017-06-02 14:46:10 -04:00
Kyle Spearrin 5d2138b95e resolve push JIT 2017-06-01 11:29:08 -04:00
Kyle Spearrin 0b24cc29c1 check security stamp when syncing profile 2017-05-31 23:09:21 -04:00
Kyle Spearrin 2fa7b532b1 new enc key implementation 2017-05-31 22:47:19 -04:00
Kyle Spearrin ffb51c1515 new autofill feature settings 2017-05-29 11:38:03 -04:00
Kyle Spearrin 6a1ff56e7b support new push models 2017-05-26 22:55:48 -04:00
Kyle Spearrin 7fd5209cdb always set backing key values 2017-05-25 12:50:39 -04:00
Kyle Spearrin 3415be4c56 handle some crash cases 2017-05-20 12:36:27 -04:00
Kyle Spearrin d1cf6c68f3 identity server client for auth 2017-05-06 20:20:57 -04:00
Kyle Spearrin 2d6895aeea android app match fixes 2017-04-28 12:14:53 -04:00
Kyle Spearrin cc63eb383d check that now is > LastActivity Date 2017-04-28 11:19:43 -04:00
Kyle Spearrin 01736ca685 Lock Screen Fixes
- Move settings to AppSettingsService
- Update activity on page disappaearing
- Always check if app is currently locked before updating last activity
date
2017-04-28 11:07:26 -04:00
Kyle Spearrin bcb7d88ed7 Double HMAC comparison to prevent timing attacks 2017-04-27 12:14:45 -04:00
Kyle Spearrin cf58c1b4b5 only fetch keys if there are some orgs 2017-04-26 11:58:52 -04:00
Kyle Spearrin c8219b29c0 encrypted private key and org keys at rest 2017-04-25 16:05:13 -04:00
Kyle Spearrin 27e0c7421b rename CryptoKey to SymmetricCryptoKey 2017-04-22 14:37:01 -04:00
Kyle Spearrin b26c3d050c sync org keys and refactors 2017-04-21 22:33:09 -04:00
Kyle Spearrin 439370e25a new push notification changes and syncing 2017-04-21 14:57:23 -04:00
Kyle Spearrin 1be4f6e20c add support for rsa oaep sha1 enc type 2017-04-21 13:40:29 -04:00
Kyle Spearrin 0d9ba92db4 null check on key retrievals 2017-04-20 14:23:58 -04:00
Kyle Spearrin 18b2b6f447 set org keys on login and decrypt org ciphers 2017-04-20 11:23:30 -04:00
Kyle Spearrin 490d1775a2 sync folders & added org id for ciphers/logins 2017-04-20 10:47:14 -04:00
Kyle Spearrin 458de2d2e0 set private key on login 2017-04-20 10:29:18 -04:00
Kyle Spearrin 51ae3fc62f clear keys on logout 2017-04-20 10:20:50 -04:00
Kyle Spearrin 58c5c55d09 extend crypto service for org keys 2017-04-20 10:20:24 -04:00
Kyle Spearrin 498379bb7e privatekey, rsa decryption, org key management 2017-04-20 00:06:11 -04:00
Kyle Spearrin e7f3b115a4 refactor for enc type header and cryptokey 2017-04-19 23:16:09 -04:00
Kyle Spearrin 0ebfe85d8e centralize login code into auth service 2017-04-19 22:04:43 -04:00
Kyle Spearrin 82d4745da3 catch sql crashes in sync service 2017-03-11 12:26:10 -05:00
Kyle Spearrin b435256911 handle locked status better. once locked, stay locked. 2017-02-17 23:03:54 -05:00
Kyle Spearrin 36d4ce8718 more updates to autofill flow 2017-02-13 22:10:34 -05:00
Kyle Spearrin 75201c9b30 Added fuzzy matches to autofill listing page. Allow autofilling from main vault search page when arriving from autofill service 2017-02-13 19:12:02 -05:00
Kyle Spearrin 4a0fc5ca0e crash fixes 2017-02-09 22:06:39 -05:00
Kyle Spearrin 539121070a Added equivalent domain checks to autofill listing filter. centralized logic in login service. 2017-02-08 23:58:37 -05:00
Kyle Spearrin 2a1bd92e1a sync domain settings 2017-02-08 22:04:07 -05:00
Kyle Spearrin 2d605f5dfb remove old sync helper for removing ciphers (was for inc syncing) 2017-02-08 20:45:56 -05:00
Kyle Spearrin 0cd09cf03a setup new settings service 2017-02-08 20:44:35 -05:00
Kyle Spearrin 3ad1e8a3ba set up user settings data table and access repository 2017-02-08 20:39:37 -05:00
Kyle Spearrin a429dcf978 Fix wrong key when decrypting cipher with mac 2017-02-08 19:07:38 -05:00
Kyle Spearrin a418fc810a log out when checking account reivison if authentication issue 2017-02-08 00:19:30 -05:00
Kyle Spearrin 8a525aee8a check old auth bearer for logged in status as well 2017-02-07 21:19:23 -05:00
Kyle Spearrin 463b0fa28a remove incremental syncs and move to full syncs with revision checks 2017-02-06 23:40:24 -05:00
Kyle Spearrin 74239521cd HandleTokenStateAsync before each API call for refresh and auth bearer migration 2017-02-04 23:31:37 -05:00
Kyle Spearrin 4a4779fc63 Converted auth to identity server endpoints and utilize bearer2 access token 2017-02-04 01:12:25 -05:00
Kyle Spearrin fe778293c1 renaming files for Site => Login refactor 2017-01-03 00:25:17 -05:00
Kyle Spearrin 991afb7722 Reactor rename Sites => Logins 2017-01-03 00:17:15 -05:00
Kyle Spearrin 7bc38a35e8 Support for encrypt-then-mac 2016-12-10 22:05:52 -05:00
Kyle Spearrin 428e35237f null checks around `Application.Current` for `SyncService`. 2016-10-29 10:30:03 -04:00
Kyle Spearrin fc1b825f46 cryptographically secure RNG for password generator 2016-10-15 01:18:12 -04:00
Kyle Spearrin 9c0c819dce remove unused instance of Random 2016-10-10 22:09:58 -04:00
Kyle Spearrin ee883571da Settings plusin doesn't support string null values for default on android. ref https://github.com/jamesmontemagno/SettingsPlugin/issues/8 2016-08-29 23:06:29 -04:00
Kyle Spearrin fb77747a1b Only process push messages for the current logged in user. Do not unregister from push on logout. 2016-08-20 22:18:05 -04:00
Kyle Spearrin 7b9c00cd77 More accurate push registration for android 2016-08-20 19:19:10 -04:00
Kyle Spearrin ca4a00196a Android styling. Invoke lock and isbusy updates on main UI thread. ConfigureAwaits in sync service. 2016-08-17 00:39:42 -04:00
Kyle Spearrin d3b1fed9b7 Track activity more accurately throughout the app & extension so that lock screen is not presented prematurly. 2016-08-08 19:00:36 -04:00
Kyle Spearrin 36629b0855 Optimized full and incremental syncs with IDictionary key/value lookup rather than enumerating the collections. 2016-08-08 18:59:47 -04:00
Kyle Spearrin 98ceaba5f5 Created anonymous app id for google analytics. 2016-08-06 19:03:48 -04:00
Kyle Spearrin a267bf9cf7 adjusted put token by identifier to not have a response 2016-08-06 18:45:23 -04:00
Kyle Spearrin 8c8db7c34b catch when key is null 2016-08-06 03:10:54 -04:00
Kyle Spearrin 33a01c0512 Since a sync operation is running on a background thread and is long-running, it is possible someone could log out during its processing. Do some auth checking during the loops process. 2016-08-06 01:48:24 -04:00
Kyle Spearrin 48b5545a33 unregister push on logout. iOS has no concept of unregistering for push. 2016-08-06 01:43:48 -04:00
Kyle Spearrin b1da05474a clear push token on unregister 2016-08-06 00:41:00 -04:00
Kyle Spearrin 38184e4893 Added "first load" check on site list to wait for sync to complete if key changed. Renamed "other" constants. 2016-08-05 23:58:31 -04:00
Kyle Spearrin d96a94b478 store previous key and userid so we can determine if stored crypto is usable before a sync 2016-08-05 21:59:25 -04:00
Kyle Spearrin 2947809d78 Convert everything back to UTC since thats now settings plugin stores them. Move sync page ToLocalTime conversion. 2016-08-02 00:32:57 -04:00
Kyle Spearrin 6f800896c3 Removed BouncyCastle in favor of PCLCrypto. Created KeyDerivationService for Android using BouncyCastle. Applied key derivation service to CryptoService. Create iOS Test project. 2016-08-01 20:23:46 -04:00
Kyle Spearrin d0fa6841c3 cascade null to sites on folder delete 2016-07-31 00:19:12 -04:00
Kyle Spearrin a315f36e09 Moved local times to DateTime.Now. Styled sync page with last sync time shown. 2016-07-30 17:29:04 -04:00
Kyle Spearrin c44726bd54 Moved to default lock of 15 minutes. Removed context options from vault list. Made folder add name selectable. 2016-07-30 16:39:52 -04:00
Kyle Spearrin 7b76f2c238 Incremental sync only every 30 minutes 2016-07-28 21:41:45 -04:00
Kyle Spearrin 9ef840412a Use secure storage for app id so that it will persist over reinstalls. Use separate app identifier for extension in hockeyapp. 2016-07-27 18:46:55 -04:00
Kyle Spearrin 0a2bc7f053 adjusted build configs for ios. safer parsing od push notifications 2016-07-23 15:04:05 -04:00
Kyle Spearrin cf27ace05e support for two factor login flow 2016-07-23 02:17:11 -04:00
Kyle Spearrin d0bf141c5d centralized lock logic into a new lock service to be shared to extension 2016-07-19 23:29:32 -04:00
Kyle Spearrin 81f2f2b1bb Moved BeginInvokeOnMainThread to App.cs 2016-07-19 22:00:28 -04:00
Kyle Spearrin 2fb2d99541 Invoke logout message always on main thread. 2016-07-19 19:38:13 -04:00
Kyle Spearrin 6c496bea14 Change sync started/compelted flag 2016-07-19 19:01:40 -04:00
Kyle Spearrin d07210c7dc Centralized logout into a message subscription in app class. Logout when API results are forbidden or unauthorized. 2016-07-19 18:46:39 -04:00
Kyle Spearrin d82c0d7d71 Lock by master password page. 2016-07-18 19:16:27 -04:00
Kyle Spearrin b90c153353 Respect options on gneerate password. Allow override parameters to be passed into password generation service. Respect context password options. Copy password. 2016-07-15 01:01:00 -04:00
Kyle Spearrin f2893e788d Added busy indicator for sync operations. Optimized vault list loading. Customized search bar appearance on iOS. 2016-07-11 23:55:16 -04:00
Kyle Spearrin 635b09de9b move CbcBlockCipher into crypto methods instead of singleton instance to avoid multithreaded issues 2016-07-11 20:14:24 -04:00
Kyle Spearrin f0455aad74 async vault fetch and filter (search) tasks. Resolved singleton crypto issue around reuse of `PaddedBufferedBlockCipher` 2016-07-11 19:36:39 -04:00
Kyle Spearrin d61d3c201a singleton Random() 2016-07-09 13:12:46 -04:00
Kyle Spearrin 29c7a0ccf0 background thread full/incremental sync operations. pool sqlconnection. sqlconnection to FullMutex mode for multithread environment. try/catch decryption errors. 2016-07-06 22:33:50 -04:00
Kyle Spearrin 55ed801fe7 Password generator page. Password generation service. Tests. Renamed some settings constants. 2016-07-02 02:01:47 -04:00
Kyle Spearrin 5a34d4cd6d Check push registration once per day 2016-07-01 19:16:47 -04:00
kspearrin 6d6f4b350b Fix build errors with delete repo contract change 2016-07-01 19:06:07 -04:00
Kyle Spearrin 8fd4e09b78 More sync operations with broadcast refreshes of listing pages 2016-06-30 20:08:34 -04:00
Kyle Spearrin 17af08b7d4 Removed disclosure from view cell in favor of button. Updated sync logic for incrementals. Store revision date from server record. Apply more accessability font size support for editor and picker controls 2016-06-30 18:53:43 -04:00
Kyle Spearrin 7a48128e43 Push notification and sync fixes 2016-06-30 00:36:44 -04:00
Kyle Spearrin 2d6e0bd95a Cipher api repository and various sync operations from push notifications. 2016-06-29 21:59:18 -04:00
Kyle Spearrin 818b1c426f push notification registration for iOS 2016-06-28 00:55:53 -04:00
Kyle Spearrin a1798f68af added extension back ios project references 2016-06-24 00:04:32 -04:00
Kyle Spearrin 4cfa8e2dee device registration on login 2016-06-21 22:29:29 -04:00
Kyle Spearrin 0f5b2f5721 push device /w token to server upon registration 2016-06-18 16:20:31 -04:00
Kyle Spearrin 8677e9e7ae Setup push notifications for android and ios 2016-06-18 02:45:46 -04:00
Kyle Spearrin a238523551 repurpose vaultlistpage to also serve favorites page 2016-06-14 23:23:05 -04:00
Kyle Spearrin e85fd53d56 PIN settings page 2016-06-12 00:49:35 -04:00
Kyle Spearrin a470f35465 fixed bug in crypto service where field was not being returned when set. 2016-05-18 23:09:17 -04:00
Kyle Spearrin 11f908aab2 folder delete 2016-05-17 23:25:40 -04:00
Kyle Spearrin 71be9f8780 save last sync in settings 2016-05-06 18:49:01 -04:00
Kyle Spearrin decd3fc24e Added icons for iOS. Broke out data access into repositories. Added syncing service. 2016-05-06 00:17:38 -04:00
Kyle Spearrin 24a5a16723 wip 2016-05-03 19:49:49 -04:00
Kyle Spearrin 92e74274e0 wip 2016-05-03 02:08:50 -04:00
Kyle Spearrin c6222c8ed3 Add folder page, folder picker on add site page. 2016-05-02 18:35:01 -04:00
Kyle Spearrin e05ed4c1f2 updates 2016-05-02 17:50:16 -04:00
Kyle Spearrin bc3d9c4465 initial commit 2016-05-02 02:52:09 -04:00