You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在测试时忽略Microsoft.Azure.Kusto.Data的SSL证书验证错误?

解决ADX连接时的SSL证书名称不匹配验证错误(测试环境专用)

使用Microsoft.Azure.Kusto.Data包连接ADX时,若遇到The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch证书验证错误,测试阶段可通过以下两种方式忽略SSL错误(生产环境严禁使用):

方法一:设置全局证书验证回调

在应用启动阶段添加全局回调,仅忽略证书名称不匹配的错误:

// .NET Framework/.NET Core 3.1及以下版本适用
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) =>
{
    // 仅测试环境启用,生产环境必须删除此代码
    if (sslPolicyErrors == SslPolicyErrors.RemoteCertificateNameMismatch)
    {
        return true;
    }
    // 其他SSL错误保持默认验证逻辑
    return sslPolicyErrors == SslPolicyErrors.None;
};

方法二:配置自定义HttpClient传入Kusto客户端

若使用较新版本的Kusto SDK,可通过KustoConnectionStringBuilder传入自定义配置的HttpClient,实现证书验证跳过:

var connectionString = "your_adx_connection_string";
var builder = new KustoConnectionStringBuilder(connectionString);

// 创建自定义HttpClientHandler,忽略证书名称不匹配错误
var handler = new HttpClientHandler
{
    ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
    {
        return sslPolicyErrors == SslPolicyErrors.None || sslPolicyErrors == SslPolicyErrors.RemoteCertificateNameMismatch;
    }
};

var httpClient = new HttpClient(handler);

// 传入自定义HttpClient创建查询提供者
var provider = KustoClientFactory.CreateCslQueryProvider(builder.WithHttpClient(httpClient));

var reader = await provider.ExecuteQueryAsync("database", "query");

重要提醒:以上两种方法仅用于测试环境调试,生产环境必须确保SSL证书验证正常,否则会导致数据传输安全风险。

内容的提问来源于stack exchange,提问作者Johan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:52:13