96 Commits

Author SHA1 Message Date
David Sparer
9659ac1611 added a dialog to prompt for action when decrypting a connection file fails 2018-07-23 11:51:58 -05:00
David Sparer
25b32a6444 removed unused code 2017-05-04 17:40:26 -06:00
David Sparer
fe12cb345e merged branch 'develop' into 'improve_credential_manager'
# Conflicts:
#      CredentialManagerForm.cs
#      PasswordForm.cs
2017-04-14 16:56:02 -06:00
Sean Kaim
53c8b3b66d use statement bodys to allow building with VS2015 2017-04-12 13:40:36 -04:00
David Sparer
8439d6d3aa lots of reworked interfaces around cred repo serialization
- decryptors now expose a property that represents what key they will use for decrypt. this can be used by decorators to properly encapsulate password prompts
- added some basic acceptance tests around cred repos
- added some stubby implementations for IDataProvider and the key provider decorators
2017-04-03 20:09:47 -06:00
David Sparer
13b38955e6 removed duplicate interface 2017-04-03 13:51:22 -06:00
David Sparer
ae3fb9a2dd added iKeyProvider interface for dynamically retrieving keys/passwords
this will support the push towards constructor injection / decorators. this interface can act as a stand-in for what would otherwise be a static decryption key
2017-04-03 12:40:07 -06:00
David Sparer
e436a31a18 split up crypto provider factories and created an interface 2017-04-02 22:33:36 -06:00
David Sparer
c0c5579027 Merge branch 'develop' into improve_credential_manager
# Conflicts:
#	mRemoteV1/UI/Forms/frmMain.cs
#	mRemoteV1/UI/Menu/ToolsMenu.cs
2017-03-23 17:25:16 -06:00
David Sparer
f433b911a0 modified export form to handle the new credential management system 2017-03-06 15:04:48 -07:00
David Sparer
5527ebf085 added an Auth attribute to the xml cred file to get around an issue when the file contains no passwords 2017-02-14 13:21:54 -07:00
David Sparer
7110337dcd added an interface for requesting a password from the user 2017-02-14 09:28:14 -07:00
David Sparer
b6d49233fb removed CredentialManager in favor of the cred repo list 2017-02-11 16:23:44 -07:00
David Sparer
00ba661456 refactored the credential repository to project all loaded items to a locally managed list 2017-02-11 14:39:08 -07:00
David Sparer
5280ef32cd created a has-special-characters constraint 2017-01-28 14:10:04 -07:00
David Sparer
bd2054e5a4 created a has-upper-case constraint 2017-01-28 13:39:51 -07:00
David Sparer
69be19c02b created a has-lower-case constraint 2017-01-28 13:35:28 -07:00
David Sparer
fcffeb5734 created a password-has-numbers constraint 2017-01-28 13:15:43 -07:00
David Sparer
11b67208f4 created password length constraint 2017-01-28 12:42:46 -07:00
David Sparer
57c1c38d52 fixed minor bug with PasswordAuthenticator 2017-01-27 13:47:24 -07:00
David Sparer
da44bba3fe created a builder class for creating a crypto provider from an xml element 2017-01-24 13:35:03 -07:00
David Sparer
a381827890 aead crypto provider now returns empty string when asked to decrypt empty message 2017-01-20 10:10:17 -07:00
Sean Kaim
24ad483214 Fix other complier warnings & code clean up 2016-11-11 16:30:22 -05:00
Sean Kaim
00ec25d38c Fix compilier warning: CA2202 & refactor
https://msdn.microsoft.com/en-us/library/ms182334.aspx
2016-11-11 16:25:47 -05:00
David Sparer
98db923ac7 Added get/set property KeyDerivationIterations to the ICryptographyProvider interface 2016-10-19 17:54:45 -06:00
David Sparer
550119a53a Modified the ICryptographyProvider interface to require getters for the cipher engine and mode using their enum types 2016-10-19 17:17:28 -06:00
David Sparer
2df182c4c9 disable resharper name checking for a few enums 2016-10-19 16:56:38 -06:00
David Sparer
8ad5f3426c Removed the Impersonator class. This was only ever used for the Sessions feature which was removed in v1.74 2016-10-17 12:34:14 -06:00
David Sparer
b97410dab7 Removed unused/unnecessary code 2016-10-17 12:25:07 -06:00
David Sparer
598a9f6a0f Added a few more tests for the LegacyRijndaelCryptographyProvider 2016-10-17 10:31:36 -06:00
David Sparer
f2f0ee0179 Key derivation iterations is now saved in the settings (for serialization) and the confCons file (for deserialization) 2016-10-13 18:43:46 -06:00
David Sparer
1f9218bd5a Added tests for the key generator 2016-10-13 18:01:36 -06:00
David Sparer
966f7b2d61 Decryption now uses the new key derivation class 2016-10-13 17:28:25 -06:00
David Sparer
58c4b541b0 Little cleanup on decryption. Now uses the new key derivation class 2016-10-13 17:23:55 -06:00
David Sparer
f6c490fc62 Created a key derivation interface and initial Pkcs5 implementation 2016-10-13 17:17:34 -06:00
David Sparer
737373940e PasswordAuthenticator will only attempt reauthentication up to MaxAttempts 2016-10-13 15:46:17 -06:00
David Sparer
c639b89511 Added a custom EncryptionException type that inherits from the BouncyCastle type. This gives us a bit of namespace insulation (we shouldn't reference BouncyCastle outside of the mRemoteNG.Security namespace). 2016-10-13 12:43:47 -06:00
David Sparer
c5ab2b1373 Changed the AeadCryptographyProvider to use the localized error message when decryption fails 2016-10-13 11:52:57 -06:00
David Sparer
f14f2cb5b7 Modified the LegacyRijndaelCryptographyProvider to throw errors when decryption fails. This is more in line with the other crypto providers 2016-10-13 11:51:24 -06:00
David Sparer
ba0a9bbe58 moved the IAuthenticator into the Security.Authentication namespace 2016-10-13 10:32:23 -06:00
David Sparer
fb082471fe Created a new interface & class for authenticating passwords. This will replace the ConnectionsDecryptor class 2016-10-13 10:23:08 -06:00
David Sparer
990605948b Changed the exception when decryption fails from the generic "Exception" type to the more specific "EncryptionException" type to make catching easier. 2016-10-13 09:10:47 -06:00
David Sparer
c35ce9ffe1 Renamed source file to match class name 2016-10-12 09:53:05 -06:00
David Sparer
a13a6d3919 Renamed the SaveFilter properties to include the prefix "Save" 2016-10-12 09:51:08 -06:00
David Sparer
ac01c6fff2 Renamed the Save class to SaveFilter to better indicate its purpose 2016-10-12 09:49:33 -06:00
David Sparer
53074c7b20 Simplified the Save class 2016-10-12 09:45:38 -06:00
David Sparer
55fe30b02c Resolved bug when unable to decrypt the confCons file. The app will now exit without attempting to save the cons file (avoiding data corruption issues) 2016-10-12 09:00:28 -06:00
David Sparer
d522258e0a Made the nonce size a bit smaller for CCM mode to avoid some issues with large nonces 2016-10-10 15:08:10 -06:00
David Sparer
333ee232ae Fixed a small issue with the CCM mode nonce size 2016-10-10 14:48:32 -06:00
Sean Kaim
cc87227559 minor tweaks to AeadCryptographyProvider 2016-07-20 11:33:55 -04:00