コード例 #1
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #2
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
 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);
 }
コード例 #5
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #6
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
 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);
 }
コード例 #7
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #8
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #9
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }
コード例 #10
0
ファイル: CxSoapSDK.cs プロジェクト: epasanen-x/CxAPI_Core
        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);
        }