// When we get a true CompositionRoot we can move this to that class. We should only require 1 instance of this service at a time
        public CredentialServiceFacade Build()
        {
            var cryptoFromSettings = new CryptoProviderFactoryFromSettings();
            var credRepoSerializer = new XmlCredentialPasswordEncryptorDecorator(
                cryptoFromSettings.Build(),
                new XmlCredentialRecordSerializer());
            var credRepoDeserializer = new XmlCredentialPasswordDecryptorDecorator(new XmlCredentialRecordDeserializer());

            var credentialRepoListPath = Path.Combine(SettingsFileInfo.SettingsPath, "credentialRepositories.xml");
            var repoListDataProvider   = new FileDataProvider(credentialRepoListPath);
            var repoListLoader         = new CredentialRepositoryListLoader(
                repoListDataProvider,
                new CredentialRepositoryListDeserializer(credRepoSerializer, credRepoDeserializer));
            var repoListSaver = new CredentialRepositoryListSaver(repoListDataProvider);

            return(new CredentialServiceFacade(Runtime.CredentialProviderCatalog, repoListLoader, repoListSaver));
        }
        public ICredentialRepository BuildXmlCredentialRepo()
        {
            var xmlFileBuilder = new CredRepoXmlFileBuilder();
            var xmlFileContent = xmlFileBuilder.Build(CryptographyProvider.Encrypt("someheaderdata", EncryptionKey));
            var dataProvider   = new InMemoryStringDataProvider(xmlFileContent);
            var encryptor      = new XmlCredentialPasswordEncryptorDecorator(
                CryptographyProvider,
                new XmlCredentialRecordSerializer()
                );
            var decryptor = new XmlCredentialPasswordDecryptorDecorator(
                new XmlCredentialRecordDeserializer()
                );

            return(new XmlCredentialRepository(
                       new CredentialRepositoryConfig(),
                       new CredentialRecordSaver(
                           dataProvider,
                           encryptor
                           ), new CredentialRecordLoader(
                           dataProvider,
                           decryptor
                           )
                       ));
        }
Пример #3
0
        public void Setup()
        {
            var baseDeserializer = new XmlCredentialRecordDeserializer();

            _sut = new XmlCredentialPasswordDecryptorDecorator(baseDeserializer);
        }