Commit Graph

150 Commits

Author SHA1 Message Date
Victor Hurdugaci e332375f0e Add repository information to project files 2015-07-01 19:42:39 -07:00
Troy Dai 430c903f65 Add System.IO to framework assemblies 2015-06-04 10:47:36 -07:00
Pranav K 0d3c29f46a Reacting to CoreCLR package updates 2015-05-15 09:57:18 -07:00
Troy Dai 2f09b07adc Package rename: Microsoft.AspNet.DataProtection.Shared -> Microsoft.AspNet.DataProtection.Sources 2015-05-07 10:16:20 -07:00
Troy Dai fe80a65ffc React to common package name change 2015-05-07 09:36:15 -07:00
N. Taylor Mullen c6416f3520 Update LICENSE.txt and license header on files. 2015-05-01 13:45:56 -07:00
Troy Dai 4a58540bdf React to DNX packages name change 2015-05-01 11:05:09 -07:00
Brennan d578779fa6 Revert Runtime.Abstractions 2015-04-29 23:58:04 -07:00
Brennan a1144274a1 React to Interface package renames 2015-04-29 22:42:00 -07:00
Brennan 7ecbee2f7d Interfaces->Abstractions 2015-04-29 17:21:04 -07:00
Matt Ellis d386e78ee6 Use $HOME as a possible storage location
If LOCALAPPDATA and USERPROFILE are both null (as is the case on
Linux/OSX) use "$HOME/.aspnet" as the root folder for data protection
keys

Fixes #76
2015-04-19 21:52:35 -07:00
Pranav K 8983a03fed Reacting to changes in OptionsModel 2015-04-16 16:57:44 -07:00
N. Taylor Mullen 8b9b809ecd Add serviceable attribute to projects.
aspnet/DNX#1600
2015-04-07 14:41:49 -07:00
Doug Bunting 19567ad39d Update .xproj files for Microsoft.Web.AspNet.* -> Microsoft.DNX.* rename 2015-04-02 13:49:24 -07:00
Praburaj 33fa06a25c Fixing dataprotection on IIS
Fixes: https://github.com/aspnet/DataProtection/issues/73

On IIS where there is no user profile, the code tries to always read the 32bit registry view irrespective of the bitness of the worker process. So in case of 64 bit app pools the registry key is null so it falls back to in memory ephemeral repository. On 32 bit app pool it can find an appropriate registry key, but the keyRepositoryDescriptor is not populated resulting in a null reference exception.

Current behavior:
X86 throws
X64 falls back to in memory ephemeral

With fix:
Both X86 and X64 will use DPAPI.
2015-04-01 11:54:24 -07:00
Levi B d2def94712 Reliability: Tweak comparison in key revocation checks 2015-03-18 15:15:58 -07:00
Levi B fd08325918 Skip registry checks on non-Windows platforms 2015-03-18 10:42:09 -07:00
Levi B ca840d3711 Code cleanup in KeyDerivation
- Rename PRF members to be HMAC functions (which is technically correct)
- Use NotNullAttribute where possible
2015-03-17 22:03:43 -07:00
Levi B 271ec1bd4b Move IApplicationDiscriminator to Infrastructure namespace 2015-03-17 20:56:58 -07:00
Levi B 22927ec289 Add simple file-based provider instantiation APIs 2015-03-17 15:36:58 -07:00
Levi B 84490846b6 Move time-limited data protector to Extensions project 2015-03-17 14:52:15 -07:00
Levi B 94233e76ff Remove experimental .Azure project 2015-03-17 10:45:21 -07:00
Levi B d673df7ef3 Reliability improvements to key ring updates
- Optimistically treat failures as transient and continue to use any existing cached key ring for a short period of time
- Updates to the key ring shouldn't block other threads; they can use the outdated version while waiting for the update
2015-03-17 00:46:24 -07:00
Levi B 612a81d9ce Defer processing <key> descriptors until necessary
- Make CreateNewKey more robust against bad key repositories
- Don't hide key deserialization errors
2015-03-16 23:32:20 -07:00
Levi B 4365b531d8 Use C# 6 string interpolation feature
Provides cleanup in logging and removes calls to String.Format
2015-03-16 21:38:21 -07:00
Levi B 0966e37d94 Doc comment cleanup on GetApplicationUniqueIdentifier 2015-03-14 15:43:39 -07:00
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 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 8f0b9a56b8 Remove BOM from project.json, *.cmd, *.sh and *.shade files. 2015-03-09 12:52:23 -07:00
N. Taylor Mullen cb5e7d82f9 Update aspnet50/aspnetcore50 => dnx451/dnxcore50. 2015-03-08 12:48:15 -07: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
Pranav K 8136affef9 Updating exception filters to use when instead of if 2014-12-16 10:21:48 -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
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
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
Pranav K f38e258f89 Removing unused references from project.json 2014-10-24 08:24:39 -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 e1f5c0a4b1 Reacting to CLR package versioning changes 2014-10-10 10:30:37 -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
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 abfad7f643 Removed files from project file 2014-08-15 07:44:31 -07:00
Pranav K 4ec0532087 Reacting to System.Security.Cryptography.Encryption package rename 2014-07-17 08:39:43 -07:00
David Fowler 4e9a6b7678 Renamed configurations to frameworks in project.json 2014-07-13 21:44:49 -07:00
Brice Lambson 9df90f615b Bump version to 1.0.0-* 2014-06-19 16:10:41 -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
Levi Broderick 730b16df37 CryptRand.FillBuffer shouldn't throw if the buffer is a zero-length array. 2014-03-14 14:34:20 -07:00
David Fowler c111258938 Add required references for K to work 2014-03-08 01:48:44 -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
Levi Broderick adf2adabc0 Add PBKDF2 support to the data protection library. 2014-03-06 19:42:00 -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