public Dictionary <long, DateTime?> GetAllScans(CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy) { Dictionary <long, DateTime?> origin = new Dictionary <long, DateTime?>(); if (LogAdminIn()) { if (cxSDKProxy == null) { cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12);; } CxSDKWebService.GetScansDisplayDataForAllProjectsResponse getProjecScannedDisplay = cxSDKProxy.GetScansDisplayDataForAllProjectsAsync(_token.session_id).Result; List <CxSDKWebService.ScanDisplayData> scans = new List <CxSDKWebService.ScanDisplayData>(getProjecScannedDisplay.Body.GetScansDisplayDataForAllProjectsResult.ScanList); foreach (CxSDKWebService.ScanDisplayData scan in scans) { CxSDKWebService.CxDateTime scanDate = scan.QueuedDateTime; DateTime firstScanDate = DateTime.Parse(String.Format("{0}/{1}/{2} {3}:{4}:{5}", scanDate.Month, scanDate.Day, scanDate.Year, scanDate.Hour, scanDate.Minute, scanDate.Second)); if (!origin.ContainsKey(scan.ProjectId)) { origin.Add(scan.ProjectId, firstScanDate); } else { if (origin[scan.ProjectId] > firstScanDate) { origin[scan.ProjectId] = firstScanDate; } } } return(origin); } return(null); }
public resultClass makeProjectScanCsv_1() { _token.status = -1; csvHelper cvsHelper = new csvHelper(); if ((_token.start_time == null)) { Console.Error.WriteLine("Start time must be provided."); return(_token); } if (LogAdminIn()) { CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); Dictionary <long, string> presets = GetPresetConfiguration(cxSDKProxy); Dictionary <long, CxSDKWebService.ProjectDisplayData> projects = GetAllProjects(cxSDKProxy); List <csvScanOutput_1> csvOutput = new List <csvScanOutput_1>(); List <CxSDKWebService.ProjectScannedDisplayData> scannedDisplayDatasList = GetProjectScannedList(cxSDKProxy); foreach (CxSDKWebService.ProjectScannedDisplayData scans in scannedDisplayDatasList) { CxSDKWebService.ProjectDisplayData proj = projects[scans.ProjectID]; CxSDKWebService.CxDateTime scanDate = proj.LastScanDate; DateTime lastScanDate = DateTime.Parse(String.Format("{0}/{1}/{2} {3}:{4}:{5}", scanDate.Month, scanDate.Day, scanDate.Year, scanDate.Hour, scanDate.Minute, scanDate.Second)); if (lastScanDate > _token.start_time) { if ((_token.end_time == null) || (lastScanDate < _token.end_time)) { if ((_token.project_name == null) || (scans.ProjectName.Contains(_token.project_name))) { csvScanOutput_1 csv = new csvScanOutput_1() { Project_Name = scans.ProjectName, Owner = proj.Owner, Team = scans.TeamName, Preset = proj.Preset, Last_Scan = lastScanDate, Total_Vulerabilities = scans.TotalVulnerabilities, High = scans.HighVulnerabilities, Medium = scans.MediumVulnerabilities, Low = scans.LowVulnerabilities, Info = scans.InfoVulnerabilities }; csvOutput.Add(csv); if ((_token.pipe) || (_token.debug)) { Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", csv.Project_Name, csv.Owner, csv.Team, csv.Preset, csv.Last_Scan, csv.Total_Vulerabilities, csv.High, csv.Medium, csv.Low, csv.Info); } } } } } if (!_token.pipe) { _token.status = cvsHelper.writeCVSFile(csvOutput, _token); } } return(_token); }
/// <summary> /// Logs out of Checkmarx (closes the session) and cleans up caches. This method is automatically /// called when within a <i>using</i> (IDisposable) so you should not typically need to call it. /// </summary> public void Logout() { log.Debug(String.Format("Closing session {1} on server {0}", _endpoint.DnsSafeHost, _sessionId)); SoapClient.Logout(_sessionId); SoapClient.Close(); log.Debug(String.Format("Successfully logged out of session: {0}", _sessionId)); //cleanup caches _client = null; _sessionId = null; _endpoint = null; }
public CxSDKWebService.GetProjectConfigurationResponse GetProjectConfiguration(CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy, resultClass token, long project_id) { if (LogAdminIn()) { if (cxSDKProxy == null) { cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12);; } CxSDKWebService.GetProjectConfigurationResponse projectConfigurationResponse = cxSDKProxy.GetProjectConfigurationAsync(token.session_id, project_id).Result; return(projectConfigurationResponse); } return(null); }
public List <CxSDKWebService.ProjectScannedDisplayData> GetProjectScannedList(CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy) { if (LogAdminIn()) { if (cxSDKProxy == null) { cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); } CxSDKWebService.GetProjectScannedDisplayDataResponse cxWSResponseProject = cxSDKProxy.GetProjectScannedDisplayDataAsync(_token.session_id).Result; List <CxSDKWebService.ProjectScannedDisplayData> projectScannedDisplayDatas = new List <CxSDKWebService.ProjectScannedDisplayData>(cxWSResponseProject.Body.GetProjectScannedDisplayDataResult.ProjectScannedList); return(projectScannedDisplayDatas); } return(null); }
public bool LogAdminIn() { if (String.IsNullOrEmpty(_token.session_id)) { GetResolverSDKUrl(); CxSDKWebService.CxSDKWebServiceSoapClient cxSDKWebServiceSoapClient = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); CxSDKWebService.LoginResponse cxWSResponseLoginData = cxSDKWebServiceSoapClient.LoginAsync(_credentials, 1033).Result; _token.session_id = cxWSResponseLoginData.Body.LoginResult.SessionId; if (String.IsNullOrEmpty(_token.session_id)) { Console.Error.WriteLine("SOAP login failed, please try again with different credentials"); return(false); } } return(true); }
public resultClass makeProjectScanCsv_3() { _token.status = -1; csvHelper cvsHelper = new csvHelper(); if ((_token.start_time == null)) { Console.Error.WriteLine("Start time must be provided."); return(_token); } if (LogAdminIn()) { List <CxUsers> UserList = new List <CxUsers>(); CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); CxSDKWebService.GetAllUsersResponse response = cxSDKProxy.GetAllUsersAsync(_token.session_id).Result; foreach (CxSDKWebService.UserData userData in response.Body.GetAllUsersResult.UserDataList) { CxUsers userList = new CxUsers() { FirstName = userData.FirstName, LastName = userData.LastName, email = userData.Email, //isAudit = userData.AuditUser, //createDate = userData.DateCreated, lastLogin = userData.LastLoginDate, exparation = userData.willExpireAfterDays, company = userData.CompanyName, isActive = userData.IsActive, jobTitle = userData.JobTitle }; foreach (CxSDKWebService.Group group in userData.GroupList) { string groupName = group.GroupName; userList.teams += String.Format("{0}: {1};", group.Type.ToString(), group.GroupName); } UserList.Add(userList); } csvHelper csvHelper = new csvHelper(); csvHelper.writeCVSFile(UserList, _token); } return(_token); }
public Dictionary <long, CxSDKWebService.ProjectDisplayData> GetAllProjects(CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy) { Dictionary <long, CxSDKWebService.ProjectDisplayData> projects = new Dictionary <long, CxSDKWebService.ProjectDisplayData>(); if (LogAdminIn()) { if (cxSDKProxy == null) { cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12);; } CxSDKWebService.GetProjectsDisplayDataResponse cxWSResponseProjects = cxSDKProxy.GetProjectsDisplayDataAsync(_token.session_id).Result; List <CxSDKWebService.ProjectDisplayData> getProjectListResponses = new List <CxSDKWebService.ProjectDisplayData>(cxWSResponseProjects.Body.GetProjectsDisplayDataResult.projectList); foreach (CxSDKWebService.ProjectDisplayData project in getProjectListResponses) { projects.Add(project.projectID, project); } return(projects); } return(null); }
public Dictionary <long, string> GetPresetConfiguration(CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy) { Dictionary <long, string> presets = new Dictionary <long, string>(); if (LogAdminIn()) { if (cxSDKProxy == null) { cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12);; } CxSDKWebService.GetPresetListResponse cxWSResponsePresetList = cxSDKProxy.GetPresetListAsync(_token.session_id).Result; List <CxSDKWebService.Preset> getPresetListResponses = new List <CxSDKWebService.Preset>(cxWSResponsePresetList.Body.GetPresetListResult.PresetList); foreach (CxSDKWebService.Preset preset in getPresetListResponses) { presets.Add(preset.ID, preset.PresetName); } return(presets); } return(null); }
public resultClass makeScanCsv(resultClass token) { token.status = -1; if ((token.start_time == null) || (token.end_time == null)) { Console.Error.WriteLine("Start time and End time must be provided."); return(token); } if (LogAdminIn()) { CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); Dictionary <long, string> presets = GetPresetConfiguration(cxSDKProxy); Dictionary <long, CxSDKWebService.ProjectDisplayData> projects = GetAllProjects(cxSDKProxy); foreach (KeyValuePair <long, CxSDKWebService.ProjectDisplayData> project in projects) { CxSDKWebService.GetProjectConfigurationResponse response = GetProjectConfiguration(cxSDKProxy, token, project.Value.projectID); csvScanOutput_1 csv = new csvScanOutput_1(); } token.status = 0; } return(token); }