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);
 }
 public AdcsTemplateLogic(IConfigurationRepository configurationRepository, IActiveDirectoryRepository activeDirectory)
 {
     this.activeDirectory         = activeDirectory;
     this.configurationRepository = configurationRepository;
     this.dataTransform           = new DataTransformation();
 }