首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Checkmarx.Api蛋糕插件需要帮助

Checkmarx.Api蛋糕插件需要帮助
EN

Stack Overflow用户
提问于 2021-12-12 06:39:16
回答 2查看 121关注 0票数 0

我正在尝试将"Checkmarx“静态代码扫描作为一个阶段整合到我的devops管道中。目前,我们的代码使用“蛋糕”文件来导出各个阶段(由PowerShell调用)。

我正在检查Checkmarx.Api的蛋糕支持,但在Checkmarx网站或蛋糕网站上都找不到。NuGet图库有一个蛋糕加载项- https://www.nuget.org/packages/Checkmarx.API/的选项卡。

但并没有分享任何关于公开的合同的信息。

因此,联系社区,看看是否有人在这方面做过任何工作,或有任何参考。将"Checkmarx“集成到构建管道中的任何其他方式(不直接使用插件而不是使用CxCLi)也会有所帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-12-13 09:56:46

正如在GitHub讨论中,您提出了相同的问题中所回答的

蛋糕脚本基于“普通”C#,因此无论Checkmarx.API的用法如何,您都可以简单地将其合并到蛋糕脚本中。可能是这样的:

代码语言:javascript
复制
Task("Scan")
 .Does(() => 
{
  // place your code here..
});

至于使用Checkmarx.API,我建议在Checkmarx.API回购中询问。

或者,似乎有一个提供CLI。您可以使用过程别名中的一个。

可能是这样的:

代码语言:javascript
复制
Task("Scan")
 .Does(() => 
{
  StartProcess("runCxConsole.cmd", new ProcessSettings
  { 
    Arguments = @"Scan -v -ProjectName ""CxServer/bookname j2"" -CxServer http://localhost -CxUser username -CxPassword admin -LocationType folder -LocationPath ""C:\Data\Projects\Java\bs java"" -preset ""Checkmarx Default""" 
  });
});

(注意:我把这些论点告诉了runCxConsole.cmd 从文件中 --我没有测试这个。)

票数 2
EN

Stack Overflow用户

发布于 2022-01-13 05:25:30

我会将其标记为已关闭,因为我已经能够使用.net HttpClient绕过它,但不幸的是,无法使用Checkmarx蛋糕加载项来实现。我将粘贴示例代码,在添加"ServerCertificateCustomValidationCallback“以返回true之前,我得到了一些ssl eerror

代码语言:javascript
复制
string accessToken = string.Empty;      
        try
        {
           using (var httpClientHandler = new HttpClientHandler())
            {
                httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };
                using (var client = new HttpClient(httpClientHandler))
                {
                    client.BaseAddress = new Uri(CXUrl+"/auth/identity/connect/token");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Add("Accept", "*/*");

                    var content = new FormUrlEncodedContent(new[]
                    {
                         new KeyValuePair<string, string>("grant_type", "password"),
                         new KeyValuePair<string, string>("scope", "access_control_api sast_api"),
                         new KeyValuePair<string, string>("username", username),
                         new KeyValuePair<string, string>("password", pwd),
                         new KeyValuePair<string, string>("client_id", "resource_owner_sast_client"),
                         new KeyValuePair<string, string>("client_secret", "****************************"),
                    });
                    var response = client.PostAsync("", content);
                    var result = JsonConvert.DeserializeObject<CXAccessToken>(response.Result.Content.ReadAsStringAsync().Result);
                    accessToken = result.access_token;
                }
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70321482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档