Beispiel #1
0
        public ActionResult GetAvailableAccounts([FromServices] ISafeguardLogic safeguard, [FromQuery] string filter = null,
                                                 [FromQuery] int?page = null, [FromQuery] bool?count = null, [FromQuery] int?limit = null, [FromQuery] string orderby = null, [FromQuery] string q = null)
        {
            var availableAccounts = safeguard.GetAvailableAccounts(filter, page, count, limit, orderby, q);

            return(Ok(availableAccounts));
        }
Beispiel #2
0
        public ActionResult InstallClientCertificate([FromServices] ISafeguardLogic safeguard, CertificateInfo certInfo)
        {
            safeguard.InstallCertificate(certInfo, CertificateType.A2AClient);
            var certificate = safeguard.GetCertificateInfo(CertificateType.A2AClient);

            return(Ok(certificate));
        }
Beispiel #3
0
        public async Task <IActionResult> GetLogFile([FromServices] ISafeguardLogic safeguard)
        {
            var filePath = WellKnownData.LogDirPath;

            if (!System.IO.File.Exists(filePath))
            {
                return(NotFound());
            }

            try
            {
                var memory = new MemoryStream();
                await using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    await stream.CopyToAsync(memory);

                    memory.Seek(0, SeekOrigin.Begin);
                }

                return(File(memory, "plain/text", $"{WellKnownData.DevOpsServiceName}.log"));
            }
            catch (Exception ex)
            {
                throw new DevOpsException("Failed to download the log file.", ex);
            }
        }
Beispiel #4
0
 public PluginsLogic(IConfigurationRepository configDb, IPluginManager pluginManager, ISafeguardLogic safeguardLogic)
 {
     _configDb       = configDb;
     _pluginManager  = pluginManager;
     _safeguardLogic = safeguardLogic;
     _logger         = Serilog.Log.Logger;
 }
Beispiel #5
0
        public ActionResult <SafeguardDevOpsConnection> GetSafeguardLogoff([FromServices] ISafeguardLogic safeguard)
        {
            var sessionKey = HttpContext.Items["session-key"].ToString();

            AuthorizedCache.Instance.Remove(sessionKey);

            return(Ok());
        }
Beispiel #6
0
 public AddonLogic(IConfigurationRepository configDb, Func <IAddonManager> addonManager, ISafeguardLogic safeguardLogic, IPluginsLogic pluginsLogic)
 {
     _logger         = Serilog.Log.Logger;
     _configDb       = configDb;
     _addonManager   = addonManager;
     _safeguardLogic = safeguardLogic;
     _pluginsLogic   = pluginsLogic;
 }
Beispiel #7
0
        public ActionResult <SafeguardDevOpsConnection> SetSafeguard([FromServices] ISafeguardLogic safeguard,
                                                                     [FromBody] SafeguardData safeguardData)
        {
            var token     = WellKnownData.GetSppToken(HttpContext);
            var appliance = safeguard.SetSafeguardData(token, safeguardData);

            return(Ok(appliance));
        }
Beispiel #8
0
        public ActionResult <ServiceConfiguration> ConfigureSafeguard([FromServices] ISafeguardLogic safeguard, CertificateInfo certFile = null)
        {
            if (certFile?.Base64CertificateData != null)
            {
                safeguard.InstallCertificate(certFile, CertificateType.A2AClient);
            }

            var devOpsConfiguration = safeguard.ConfigureDevOpsService();

            return(Ok(devOpsConfiguration));
        }
Beispiel #9
0
        public ActionResult <A2ARetrievableAccount> GetRetrievableAccountById([FromServices] ISafeguardLogic safeguard, [FromRoute] int accountId)
        {
            var retrievableAccount = safeguard.GetA2ARetrievableAccountById(A2ARegistrationType.Account, accountId);

            if (retrievableAccount == null)
            {
                return(NotFound());
            }

            return(Ok(retrievableAccount));
        }
Beispiel #10
0
        public ActionResult DeleteSafeguardConfiguration([FromServices] ISafeguardLogic safeguard, [FromQuery] string confirm)
        {
            if (confirm == null || !confirm.Equals("yes", StringComparison.InvariantCultureIgnoreCase))
            {
                return(BadRequest());
            }

            safeguard.DeleteDevOpsConfiguration();

            return(NoContent());
        }
Beispiel #11
0
        public ActionResult DeleteAllTrustedCertificate([FromServices] ISafeguardLogic safeguard, [FromQuery] string confirm)
        {
            if (confirm == null || !confirm.Equals("yes", StringComparison.InvariantCultureIgnoreCase))
            {
                return(BadRequest());
            }

            safeguard.DeleteAllTrustedCertificates();

            return(NoContent());
        }
Beispiel #12
0
        public ActionResult <SafeguardDevOpsConnection> GetSafeguardLogon([FromServices] ISafeguardLogic safeguard)
        {
            var safeguardConnection = safeguard.GetSafeguardConnection();

            if (safeguardConnection == null)
            {
                return(NotFound("No Safeguard has not been configured"));
            }

            return(Ok(safeguardConnection));
        }
Beispiel #13
0
        public ActionResult RemoveWebServerCertificate([FromServices] ISafeguardLogic safeguard, [FromQuery] bool restart = true)
        {
            safeguard.RemoveWebServerCertificate();

            if (restart)
            {
                safeguard.RestartService();
            }

            return(NoContent());
        }
Beispiel #14
0
        public ActionResult <string> GetClientCsr([FromServices] ISafeguardLogic safeguard, [FromQuery] int?size,
                                                  [FromQuery] string subjectName, [FromQuery] string sanDns, [FromQuery] string sanIp, [FromQuery] string certType = "A2AClient")
        {
            if (!Enum.TryParse(certType, true, out CertificateType cType))
            {
                return(BadRequest("Invalid certificate type"));
            }

            var csr = safeguard.GetCSR(size, subjectName, sanDns, sanIp, cType);

            return(Ok(csr));
        }
Beispiel #15
0
        public ActionResult InstallWebServerCertificate([FromServices] ISafeguardLogic safeguard, [FromBody] CertificateInfo certInfo, [FromQuery] bool restart = true)
        {
            safeguard.InstallCertificate(certInfo, CertificateType.WebSsl);
            var certificate = safeguard.GetCertificateInfo(CertificateType.WebSsl);

            if (restart)
            {
                safeguard.RestartService();
            }

            return(Ok(certificate));
        }
Beispiel #16
0
        public ActionResult <A2ARegistration> GetA2ARegistration([FromServices] ISafeguardLogic safeguard, [FromQuery] string registrationType = "Account")
        {
            if (!Enum.TryParse(registrationType, true, out A2ARegistrationType rType))
            {
                return(BadRequest("Invalid registration type"));
            }

            var registration = safeguard.GetA2ARegistration(rType);

            if (registration == null)
            {
                return(NotFound());
            }

            return(Ok(registration));
        }
Beispiel #17
0
        public ActionResult <IEnumerable <CertificateInfo> > AddTrustedCertificate([FromServices] ISafeguardLogic safeguard, [FromBody] CertificateInfo certificate, [FromQuery] bool importFromSafeguard)
        {
            IEnumerable <CertificateInfo> trustedCertificates;

            if (importFromSafeguard)
            {
                trustedCertificates = safeguard.ImportTrustedCertificates();
            }
            else
            {
                var trustedCertificate = safeguard.AddTrustedCertificate(certificate);
                trustedCertificates = new List <CertificateInfo>()
                {
                    trustedCertificate
                };
            }

            return(Ok(trustedCertificates));
        }
Beispiel #18
0
        public ActionResult <CertificateInfo> GetTrustedCertificate([FromServices] ISafeguardLogic safeguard, [FromRoute] string thumbprint)
        {
            var trustedCertificate = safeguard.GetTrustedCertificate(thumbprint);

            return(Ok(trustedCertificate));
        }
Beispiel #19
0
        public ActionResult <IEnumerable <CertificateInfo> > GetTrustedCertificates([FromServices] ISafeguardLogic safeguard)
        {
            var trustedCertificates = safeguard.GetTrustedCertificates();

            return(Ok(trustedCertificates));
        }
Beispiel #20
0
        public ActionResult <CertificateInfo> GetWebServerCertificate([FromServices] ISafeguardLogic safeguard)
        {
            var certificate = safeguard.GetCertificateInfo(CertificateType.WebSsl);

            return(Ok(certificate));
        }
Beispiel #21
0
        public ActionResult RestartService([FromServices] ISafeguardLogic safeguard)
        {
            safeguard.RestartService();

            return(NoContent());
        }
Beispiel #22
0
        public ActionResult RemoveClientCertificate([FromServices] ISafeguardLogic safeguard)
        {
            safeguard.RemoveClientCertificate();

            return(NoContent());
        }
 public BackgroundMaintenanceLogic(IConfigurationRepository configDb, ISafeguardLogic safeguardLogic)
 {
     _logger         = Serilog.Log.Logger;
     _configDb       = configDb;
     _safeguardLogic = safeguardLogic;
 }
Beispiel #24
0
        public ActionResult <SafeguardDevOpsConnection> GetSafeguard([FromServices] ISafeguardLogic safeguard)
        {
            var safeguardConnection = safeguard.GetAnonymousSafeguardConnection();

            return(Ok(safeguardConnection));
        }
Beispiel #25
0
        public ActionResult DeleteTrustedCertificate([FromServices] ISafeguardLogic safeguard, [FromRoute] string thumbprint)
        {
            safeguard.DeleteTrustedCertificate(thumbprint);

            return(NoContent());
        }
Beispiel #26
0
        public ActionResult <IEnumerable <A2ARetrievableAccount> > AddRetrievableAccounts([FromServices] ISafeguardLogic safeguard, IEnumerable <SppAccount> accounts)
        {
            var retrievableAccounts = safeguard.AddA2ARetrievableAccounts(accounts, A2ARegistrationType.Account);

            return(Ok(retrievableAccounts));
        }
 internal PluginManager(IConfigurationRepository configDb, ISafeguardLogic safeguardLogic)
 {
     _configDb       = configDb;
     _safeguardLogic = safeguardLogic;
     _logger         = Serilog.Log.Logger;
 }
Beispiel #28
0
        public ActionResult RemoveRetrievableAccounts([FromServices] ISafeguardLogic safeguard, IEnumerable <A2ARetrievableAccount> accounts)
        {
            safeguard.RemoveA2ARetrievableAccounts(accounts, A2ARegistrationType.Account);

            return(NoContent());
        }
Beispiel #29
0
        public ActionResult <IEnumerable <A2ARetrievableAccount> > GetRetrievableAccounts([FromServices] ISafeguardLogic safeguard)
        {
            var retrievableAccounts = safeguard.GetA2ARetrievableAccounts(A2ARegistrationType.Account);

            return(Ok(retrievableAccounts));
        }
Beispiel #30
0
        public ActionResult <CertificateInfo> GetClientCertificate([FromServices] ISafeguardLogic safeguard)
        {
            var certificate = safeguard.GetCertificateInfo(CertificateType.A2AClient);

            return(Ok(certificate));
        }