Commit Graph

33 Commits

Author SHA1 Message Date
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
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 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 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 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