DI API changes

This commit is contained in:
Brennan 2015-03-05 14:21:35 -08:00
parent 32ff156923
commit 88eb10dcfe
5 changed files with 7 additions and 20 deletions

View File

@ -13,14 +13,11 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
internal sealed class CngCbcAuthenticatedEncryptorConfigurationXmlReader : IAuthenticatedEncryptorConfigurationXmlReader
{
private readonly IServiceProvider _serviceProvider;
private readonly ITypeActivator _typeActivator;
public CngCbcAuthenticatedEncryptorConfigurationXmlReader(
[NotNull] IServiceProvider serviceProvider,
[NotNull] ITypeActivator typeActivator)
[NotNull] IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
_typeActivator = typeActivator;
}
public IAuthenticatedEncryptorConfiguration FromXml([NotNull] XElement element)
@ -51,7 +48,7 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
var encryptedSecretElement = element.Element(CngCbcAuthenticatedEncryptorConfiguration.SecretElementName).Elements().Single();
var secretElementDecryptorTypeName = (string)encryptedSecretElement.Attribute("decryptor");
var secretElementDecryptorType = Type.GetType(secretElementDecryptorTypeName, throwOnError: true);
var secretElementDecryptor = (IXmlDecryptor)_typeActivator.CreateInstance(_serviceProvider, secretElementDecryptorType);
var secretElementDecryptor = (IXmlDecryptor)ActivatorUtilities.CreateInstance(_serviceProvider, secretElementDecryptorType);
var decryptedSecretElement = secretElementDecryptor.Decrypt(encryptedSecretElement);
CryptoUtil.Assert(decryptedSecretElement.Name == CngCbcAuthenticatedEncryptorConfiguration.SecretElementName,
@"TODO: Bad element.");

View File

@ -13,14 +13,11 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
internal sealed class CngGcmAuthenticatedEncryptorConfigurationXmlReader : IAuthenticatedEncryptorConfigurationXmlReader
{
private readonly IServiceProvider _serviceProvider;
private readonly ITypeActivator _typeActivator;
public CngGcmAuthenticatedEncryptorConfigurationXmlReader(
[NotNull] IServiceProvider serviceProvider,
[NotNull] ITypeActivator typeActivator)
[NotNull] IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
_typeActivator = typeActivator;
}
public IAuthenticatedEncryptorConfiguration FromXml([NotNull] XElement element)
@ -45,7 +42,7 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
var encryptedSecretElement = element.Element(CngGcmAuthenticatedEncryptorConfiguration.SecretElementName).Elements().Single();
var secretElementDecryptorTypeName = (string)encryptedSecretElement.Attribute("decryptor");
var secretElementDecryptorType = Type.GetType(secretElementDecryptorTypeName, throwOnError: true);
var secretElementDecryptor = (IXmlDecryptor)_typeActivator.CreateInstance(_serviceProvider, secretElementDecryptorType);
var secretElementDecryptor = (IXmlDecryptor)ActivatorUtilities.CreateInstance(_serviceProvider, secretElementDecryptorType);
var decryptedSecretElement = secretElementDecryptor.Decrypt(encryptedSecretElement);
CryptoUtil.Assert(decryptedSecretElement.Name == CngGcmAuthenticatedEncryptorConfiguration.SecretElementName,
@"TODO: Bad element.");

View File

@ -13,14 +13,11 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
internal sealed class ManagedAuthenticatedEncryptorConfigurationXmlReader : IAuthenticatedEncryptorConfigurationXmlReader
{
private readonly IServiceProvider _serviceProvider;
private readonly ITypeActivator _typeActivator;
public ManagedAuthenticatedEncryptorConfigurationXmlReader(
[NotNull] IServiceProvider serviceProvider,
[NotNull] ITypeActivator typeActivator)
[NotNull] IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
_typeActivator = typeActivator;
}
public IAuthenticatedEncryptorConfiguration FromXml([NotNull] XElement element)
@ -49,7 +46,7 @@ namespace Microsoft.AspNet.DataProtection.AuthenticatedEncryption
var encryptedSecretElement = element.Element(ManagedAuthenticatedEncryptorConfiguration.SecretElementName).Elements().Single();
var secretElementDecryptorTypeName = (string)encryptedSecretElement.Attribute("decryptor");
var secretElementDecryptorType = Type.GetType(secretElementDecryptorTypeName, throwOnError: true);
var secretElementDecryptor = (IXmlDecryptor)_typeActivator.CreateInstance(_serviceProvider, secretElementDecryptorType);
var secretElementDecryptor = (IXmlDecryptor)ActivatorUtilities.CreateInstance(_serviceProvider, secretElementDecryptorType);
var decryptedSecretElement = secretElementDecryptor.Decrypt(encryptedSecretElement);
CryptoUtil.Assert(decryptedSecretElement.Name == ManagedAuthenticatedEncryptorConfiguration.SecretElementName,
@"TODO: Bad element.");

View File

@ -96,7 +96,6 @@ namespace Microsoft.Framework.DependencyInjection
descriptors.AddRange(new[]
{
ServiceDescriptor.Singleton<IAuthenticatedEncryptorConfigurationFactory, CngCbcAuthenticatedEncryptorConfigurationFactory>(),
ServiceDescriptor.Singleton<ITypeActivator, TypeActivator>(),
ServiceDescriptor.Singleton<IKeyManager, XmlKeyManager>(),
ServiceDescriptor.Singleton<IDataProtectionProvider, DefaultDataProtectionProvider>()
});

View File

@ -35,20 +35,17 @@ namespace Microsoft.AspNet.DataProtection.KeyManagement
private readonly IAuthenticatedEncryptorConfigurationFactory _authenticatedEncryptorConfigurationFactory;
private readonly IServiceProvider _serviceProvider;
private readonly ITypeActivator _typeActivator;
private readonly IXmlRepository _xmlRepository;
private readonly IXmlEncryptor _xmlEncryptor;
public XmlKeyManager(
[NotNull] IServiceProvider serviceProvider,
[NotNull] IAuthenticatedEncryptorConfigurationFactory authenticatedEncryptorConfigurationFactory,
[NotNull] ITypeActivator typeActivator,
[NotNull] IXmlRepository xmlRepository,
[NotNull] IXmlEncryptor xmlEncryptor)
{
_serviceProvider = serviceProvider;
_authenticatedEncryptorConfigurationFactory = authenticatedEncryptorConfigurationFactory;
_typeActivator = typeActivator;
_xmlRepository = xmlRepository;
_xmlEncryptor = xmlEncryptor;
}
@ -175,7 +172,7 @@ namespace Microsoft.AspNet.DataProtection.KeyManagement
CryptoUtil.Assert(typeof(IAuthenticatedEncryptorConfigurationXmlReader).IsAssignableFrom(encryptorConfigurationParserType),
"TODO: typeof(IAuthenticatedEncryptorConfigurationXmlReader).IsAssignableFrom(encryptorConfigurationParserType)");
var parser = (IAuthenticatedEncryptorConfigurationXmlReader)_typeActivator.CreateInstance(_serviceProvider, encryptorConfigurationParserType);
var parser = (IAuthenticatedEncryptorConfigurationXmlReader)ActivatorUtilities.CreateInstance(_serviceProvider, encryptorConfigurationParserType);
var encryptorConfiguration = parser.FromXml(encryptorConfigurationAsXml);
Guid keyId = (Guid)keyElement.Attribute(IdAttributeName);