//SecretKeyProvider keyProvider;

        public InitialSetupLogic(IConfigurationRepository configurationRepository)
        {
            //this.runtimeConfigurationState = runtimeConfigurationState;
            this.configurationRepository = configurationRepository;
            this.templateLogic           = new AdcsTemplateLogic(configurationRepository, new ActiveDirectoryRepository());
            this.certificateAuthorityConfigurationLogic = new CertificateAuthorityConfigurationLogic(configurationRepository);
            this.idpLogic           = new ActiveDirectoryIdentityProviderLogic(configurationRepository);
            this.authorizationLogic = new AuthorizeInitialSetup(configurationRepository);
            this.roleManagement     = new RoleManagementLogic(configurationRepository, authorizationLogic);
            this.localIdpLogic      = new LocalIdentityProviderLogic(configurationRepository);
        }
 public PrivateCertificateProcessing(ICertificateRepository certificateRepository, IConfigurationRepository configurationRepository, ICertificateProvider certificateProvider, IAuthorizationLogic authorizationLogic, AdcsTemplateLogic templateLogic, IAuditLogic audit)
 {
     this.audit = audit;
     this.configurationRepository = configurationRepository;
     this.certificateRepository   = certificateRepository;
     this.certificateProvider     = certificateProvider;
     this.authorizationLogic      = authorizationLogic;
     this.templateLogic           = templateLogic;
     this.dataTransformation      = new DataTransformation();
     this.hashProvider            = new HashProvider();
     this.secrets = new SecretKeyProvider();
     this.cipher  = new EncryptionProvider(configurationRepository.GetAppConfig().EncryptionKey);
 }