Commit Graph

477 Commits

Author SHA1 Message Date
Levi B 82d92064c5 Continued API improvements and refactoring
- Add helpful extension methods to Interfaces project
- Auto heuristic detection now writes default protection settings to the ILogger
- Cleanup dead methods / add useful methods in DataProtectionConfiguration
- Update System.Web compatibility project to allow mapping MachineKey.Protect directly to IDataProtector.Protect
2015-03-14 14:29:39 -07:00
Levi B bf7283697d Flow logging through the AuthenticatedEncryption types 2015-03-12 16:12:17 -07:00
Levi B 7fe33e8159 DataProtectionServices should prefer registry over defaults
Comment cleanup in CNG-GCM ExportToXml
2015-03-12 14:22:45 -07:00
Levi B 4f2288c3da Introduce concept of a "fallback key"
This key is used if there is no preferred default key and the developer has disabled automatic key generation. This will keep the service from falling over if the keys are not rolled and they all expire.
2015-03-11 19:39:41 -07:00
Levi B 58c823bc45 Rename KeyLifetimeOptions -> KeyManagementOptions
Simplify default key resolution logic
Introduce API for disabling automatic key generation
2015-03-11 19:39:35 -07:00
N. Taylor Mullen a43664286a Update .kproj => .xproj. 2015-03-11 14:09:20 -07:00
N. Taylor Mullen 8c7a47fb00 Update .kproj => .xproj. 2015-03-11 14:05:01 -07:00
Levi B bb1b49cc1c Fix PoliCheck violations. 2015-03-10 23:40:39 -07:00
Levi B e8cc1106d8 Significant refactorings throughout the data protection stack
- Move IDataProtectionProvider, IDataProtector, and extension methods to their own package
- Simplify the APIs for registering and configuring the system
- Default implementation now auto-detects capabilities of OS
- Use EncryptedXml for X.509 certificate-based encryption
- Add ability to escrow secret material upon key creation
- Use centralized system policy for default algorithm selection
- Simplify System.Web compatibility layer
- Add unit tests, logging, and doc comments throughout solution
2015-03-10 22:43:45 -07:00
N. Taylor Mullen 37a3c7f2a6 Remove BOM from project.json, *.cmd, *.sh and *.shade files. 2015-03-09 13:02:12 -07:00
N. Taylor Mullen 8f0b9a56b8 Remove BOM from project.json, *.cmd, *.sh and *.shade files. 2015-03-09 12:52:23 -07:00
N. Taylor Mullen 00a38659d5 Update aspnet50/aspnetcore50 => dnx451/dnxcore50. 2015-03-08 13:00:50 -07:00
N. Taylor Mullen cb5e7d82f9 Update aspnet50/aspnetcore50 => dnx451/dnxcore50. 2015-03-08 12:48:15 -07:00
Praburaj 9bcc863321 Rename Microsoft.AspNet.Http.Interfaces => Microsoft.AspNet.Http 2015-03-05 16:36:21 -08:00
Brennan 88eb10dcfe DI API changes 2015-03-05 14:21:35 -08:00
Hao Kung 32ff156923 React to DI changes, AddDataProtection no longer takes Config 2015-03-04 16:35:33 -08:00
Levi B bf0f94ce20 Store reg keys in a different folder to mitigate impact of renaming changes 2015-02-26 23:46:02 -08:00
Levi B e4db4b1189 Temporarily store keys in different folder to resolve issues caused by package renaming 2015-02-26 10:35:40 -08:00
Levi B e2ca9fc652 Rename to Microsoft.AspNet.DataProtection
from Microsoft.AspNet.Security.DataProtection
2015-02-25 16:49:33 -08:00
Levi B 544c83812c Add unit tests for WeakReferenceHelpers
Doc comment cleanup on IOptimizedAuthenticatedEncryptor
2015-02-24 18:19:31 -08:00
Levi B ab18f52e98 Add CreateProtector convenience extension method 2015-02-24 17:48:29 -08:00
Levi B 6637cb264f Split KeyDerivation into its own project
Move shared crypto code to a common project
2015-02-24 16:20:10 -08:00
Levi B 8ec6dc3712 Code cleanup
Rename IAuthenticatedEncryptor2 -> IOptimizedAuthenticatedEncryptor
Rename ProtectedMemoryBlob -> Secret
Add some missing doc comments explaining
2015-02-24 15:49:30 -08:00
Pranav K 71a2712c5a Reacting to XDocument verson change 2015-02-19 10:15:18 -08:00
Levi B 04e7bca8bf Normalize .kproj files BOM and line endings 2015-01-20 13:49:29 -08:00
Stephen Halter 48e8f92aab Handle HttpFeature rename 2015-01-18 21:01:48 -08:00
Pranav K 8136affef9 Updating exception filters to use when instead of if 2014-12-16 10:21:48 -08:00
Pranav K 017549aa46 Reacting to System.Threading version changes 2014-12-15 15:10:39 -08:00
Victor Hurdugaci f505d52771 Add schema version to kproj files 2014-11-25 11:10:52 -08:00
Victor Hurdugaci 0c841f934e Add schema version to kproj files 2014-11-25 10:36:04 -08:00
Hao Kung f3e9381f16 GetServices -> AddDataProtection 2014-11-24 16:40:13 -08:00
Victor Hurdugaci c0d8e94287 Update KProj to the latest format 2014-11-12 15:43:31 -08:00
Levi B cce11ad2ae Update .kproj files to follow modern conventions 2014-11-05 14:48:56 -08:00
David Fowler e1a88b6503 Merge branch 'release' into dev 2014-10-31 03:04:33 -07:00
David Fowler 1768bfd25f Added package descriptions 2014-10-31 03:00:59 -07:00
David Fowler f0bec06fe0 Merge branch 'release' into dev 2014-10-31 02:57:48 -07:00
David Fowler 82511a8489 Added package descriptions 2014-10-31 02:57:32 -07:00
Levi B fc4213b1f8 Reliability: Don't compile against 'experimental' language features.
This will help prevent Roslyn changes from breaking us.
2014-10-27 16:18:42 -07:00
Levi B 5899177af2 Merge branch 'release' into dev 2014-10-27 15:31:23 -07:00
Levi B 6797dfea48 Fix %APPDATA% detection logic. 2014-10-27 12:55:59 -07:00
Chris Ross be8859d07c Cleanup. 2014-10-24 15:25:41 -07:00
Chris Ross 035983f90e Add missing dependency. 2014-10-24 15:24:01 -07:00
Pranav K f38e258f89 Removing unused references from project.json 2014-10-24 08:24:39 -07:00
Chris Ross 98e9285fa8 #13 - Detailed UTF-8 validation. 2014-10-23 17:34:26 -07:00
Chris Ross ae77def939 #20 - Validate OpCodes. 2014-10-23 10:08:14 -07:00
Chris Ross 08441efeae #18 - Validate close status codes. 2014-10-23 09:38:10 -07:00
Chris Ross b7c8d5cd42 #17 - Validate close frame body. 2014-10-23 09:15:11 -07:00
Chris Ross e8c4985322 Verify contination frames. 2014-10-23 08:24:19 -07:00
Chris Ross 31c76a0032 Clean up error handling. Check for control frame fragmentation. 2014-10-22 17:09:57 -07:00
Chris Ross 7d11034790 #14 - Validate reserved bits. 2014-10-22 16:26:20 -07:00
Chris Ross 207767a9b0 #15 - Validate ping frame size limits. 2014-10-22 16:25:22 -07:00
Chris Ross 4a5dbccb46 #13 - Utf8 validation. 2014-10-22 15:55:26 -07:00
Levi B bd529b3b5b Fix ManagedAuthenticatedEncryptor not round-tripping payloads properly. 2014-10-22 11:45:39 -07:00
Levi B 6e557dc193 Fix ManagedAuthenticatedEncryptor not round-tripping payloads correctly. 2014-10-21 15:39:48 -07:00
Levi B 76b76ba099 DataProtectionServices should use keys stored in HKLM auto-gen registry when running on IIS without user profile. 2014-10-20 14:54:43 -07:00
Levi B ca95189a3b Allow DpapiNGXmlEncryptor to get the current identity's SID on CoreCLR. 2014-10-20 13:43:03 -07:00
Levi B 8fc3607a68 Fix Win7 vs Win8 detection logic for SP800-108-CTR-HMACSHA512. 2014-10-17 11:34:29 -07:00
Stephen Halter fd677047f4 Change GetService call to GetRequiredService
Remove the assertion that the returned service is not null, since the
GetRequiredService extension method will throw instead of ever
returning null.
2014-10-16 17:34:19 -07:00
Levi B cd33cbfc8f Add unit tests for CngAuthenticatedEncryptorBase, PBKDF2, and SP800_108-CTR-HMACSHA512. 2014-10-16 15:54:35 -07:00
Levi B 796acc0e34 Restore Win7 + Server Core support routines. 2014-10-15 19:51:51 -07:00
Levi B 132802435b Add time-limiting data protection capabilities. 2014-10-15 12:57:04 -07:00
Levi B a0138735a8 Add string-based extension methods to IDataProtector. 2014-10-15 11:51:00 -07:00
Hao Kung 4e43fa24cf React to options changes 2014-10-14 19:03:51 -07:00
Levi B e2ad2f1386 Remove dead code from EphemeralDataProtectionProvider.cs. 2014-10-14 17:29:13 -07:00
Levi B c3b76d14a3 Make EphemeralDataProtectionProvider and ProtectedMemoryBlob work on non-Windows platforms. 2014-10-14 17:26:21 -07:00
Hao Kung d9119f4c47 React to options rename 2014-10-14 16:38:20 -07:00
Pranav K 7d5a29a9fd Cleaning up comments 2014-10-10 16:13:57 -07:00
Levi B 769f21783a Implement new DataProtection pipeline. 2014-10-10 11:17:37 -07:00
Pranav K 542d87d9d2 Removing version from framework assemblies node 2014-10-10 10:45:08 -07:00
Pranav K 83f4d0261d Reacting to CLR package versioning changes 2014-10-10 10:34:52 -07:00
Pranav K e1f5c0a4b1 Reacting to CLR package versioning changes 2014-10-10 10:30:37 -07:00
David Fowler 787138322b Fixup references 2014-10-05 14:21:22 -07:00
David Fowler 55922d9107 Fixed references 2014-10-05 04:31:21 -07:00
jhawk42 47f0699235 Win7PlusCoreSystem 2014-10-01 14:57:08 -07:00
Chris Ross a2fc6e28a8 Handle IBuilder rename to IApplicationBuilder. 2014-09-10 14:39:52 -07:00
David Fowler ddcce629cf Made the server project aspnet50 instead of net45 2014-09-04 01:41:48 -07:00
David Fowler ca360a25f7 Updated to use the new target framework in project.json 2014-08-29 00:10:01 -07:00
David Fowler f7e3823bf1 Updated to use the new target framework in project.json 2014-08-28 22:43:50 -07:00
Levi B 990fe49df1 Remove old Win7-only PBKDF2 implementation. 2014-08-20 23:17:09 -07:00
Levi B 4588b1c898 Add preliminary PBKDF2 routines to unblock identity work.
Win7 and Win8 optimizations will be committed as part of the larger DataProtection overhaul.
2014-08-20 22:47:47 -07:00
David Fowler 23b13d3143 Removed source files from the project 2014-08-15 09:42:19 -07:00
David Fowler abfad7f643 Removed files from project file 2014-08-15 07:44:31 -07:00
Pranav K 839e066d59 Reacting to System.Security.Cryptograph.Encryption package rename 2014-07-17 09:30:34 -07:00
Pranav K 4ec0532087 Reacting to System.Security.Cryptography.Encryption package rename 2014-07-17 08:39:43 -07:00
David Fowler 0a50505f4d Renamed configurations to frameworks in project.json 2014-07-13 22:09:54 -07:00
David Fowler 4e9a6b7678 Renamed configurations to frameworks in project.json 2014-07-13 21:44:49 -07:00
Chris Ross 7133ab1b2a Rename IHttpOpaqueUpgradeFeature to IHttpUpgradeFeature. 2014-07-03 14:07:38 -07:00
David Fowler d98df8a873 Updated packages due to changes in security contracts 2014-07-01 10:22:31 -07:00
Chris Ross df425e4796 Server: Expose WebSocketOptions. Make feature replacement configurable. 2014-06-30 12:50:55 -07:00
Chris Ross b24d808b58 #10 - Rename Middleware package to Server. 2014-06-30 12:22:16 -07:00
Brice Lambson 6d56ee2471 Bump version to 1.0.0-* 2014-06-19 17:11:14 -07:00
Brice Lambson 9df90f615b Bump version to 1.0.0-* 2014-06-19 16:10:41 -07:00
David Fowler 32aa84d975 Fixed project.json casing 2014-06-13 07:32:14 -07:00
David Fowler 0c0321c694 Renamed Project.json to Project.json2 2014-06-13 07:32:13 -07:00
Chris Ross 2deea2c299 Delete old file. 2014-06-12 20:16:25 -07:00
Chris Ross 7484db54c6 Compile for CoreClr. Seperate Client project. Rename everything. 2014-06-12 20:11:12 -07:00
David Fowler 49196aaec3 Fixed project.json casing 2014-05-26 02:47:54 -07:00
Pranav K fae42b596d Updating kproj file to match tooling changes 2014-05-18 20:13:54 -07:00
Andrew Peters b2a8c3db41 Updating copyright headers 2014-05-08 23:00:47 -07:00
anpete 27d59cd80b Update file headers 2014-05-01 17:36:30 -07:00
David Fowler 83663f789b Added support for protected data style DPAPI
- This won't work across core clr and desktop and mono but
 that's ok for the moment because it unblocks things
2014-04-29 23:07:29 -07:00
Levi Broderick 6bc6da1c7d Fix build break: inadvertently removed PBKDF2.cs and related functionality 2014-04-15 22:10:09 -07:00
GrabYourPitchforks 1959aa9e7f Merge from internal DataProtection repo. 2014-04-15 18:03:41 -07:00
David Fowler 26fedbb999 Updated tooling 2014-04-08 01:42:21 -07:00
Pranav K e019e67325 Updating CoreCLR package versions 2014-03-28 05:53:01 -07:00
David Fowler ecbb52fa40 Updated to use KoreBuild
- Updated solution file to use generated projects
- Updated to use new test runner
2014-03-17 00:37:20 -07:00
Levi Broderick 730b16df37 CryptRand.FillBuffer shouldn't throw if the buffer is a zero-length array. 2014-03-14 14:34:20 -07:00
Chris Ross 704239bca8 Allow zero length sends and receives. 2014-03-11 08:26:42 -07:00
Chris Ross 1853c71114 Narrow ping write lock. 2014-03-10 08:32:59 -07:00
Chris Ross 2dbe40dca5 Negotiate sub-protocol. 2014-03-09 20:55:43 -07:00
Chris Ross 65532849f6 Handle unmasking offset data. 2014-03-08 23:01:53 -08:00
Chris Ross 678af7c22f Implement KeepAliveInterval, send pings. 2014-03-08 15:14:54 -08:00
Chris Ross 30ca12933e Cleanup, simple perf. 2014-03-08 10:35:56 -08:00
David Fowler c111258938 Add required references for K to work 2014-03-08 01:48:44 -08:00
Chris Ross 9ba9f666bb Fix continuation frame bug. 2014-03-07 22:25:21 -08:00
Levi Broderick 6748897083 Update DataProtection to use a K-generated .resx designer file instead of the VS-generated .resx designer file. 2014-03-07 14:46:19 -08:00
Chris Ross 6ecc36de5a Cleanup, argument validation. 2014-03-07 09:36:17 -08:00
Levi Broderick adf2adabc0 Add PBKDF2 support to the data protection library. 2014-03-06 19:42:00 -08:00
Chris Ross 1bd9bf1714 Implement continuation frames. 2014-03-06 13:50:04 -08:00
Chris Ross 1d5b4582f1 Cleanup, unmasking. 2014-03-06 12:32:46 -08:00
Chris Ross 2f770ca4d4 Handle incoming pings and pongs. 2014-03-06 10:29:54 -08:00
Chris Ross 14685821a6 Implement client masking. 2014-03-05 16:55:32 -08:00
Chris Ross 7004026b5e Implement Close. 2014-03-05 09:28:09 -08:00
Chris Ross dbd084cb2c Initial WebSocket projects, handshake, framing. 2014-03-04 21:09:12 -08:00
GrabYourPitchforks 7aa23bfc05 Add DPAPI support to the DataProtection library. 2014-02-13 17:42:04 -08:00
Louis DeJardin baf338cc83 Apply code formatting 2014-01-28 17:48:49 -08:00
Levi Broderick 869a4ec267 Initial implementation of Microsoft.AspNet.Security.DataProtection 2014-01-28 17:14:26 -08:00