.NET开发环境下如何跳过SSL验证

1. 使用环境变量

你可以通过设置环境变量来指示.NET运行时忽略SSL验证错误。

PowerShell
export DOTNET_SYSTEM_NET_HTTP_INSECURECONNECTIONVALIDATION=0

然后运行你的.NET 应用程序。这将使.NET HttpClient在处理HTTPS请求时不会验证服务器的证书。

2. 配置HttpClientHandler

创建一个HttpClientHandler实例,并设置其ServerCertificateCustomValidationCallback属性,使其接受任何证书,从而跳过SSL验证

C#
static void Main()  
    {  
        var handler = new HttpClientHandler();  
        handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;  
  
        var client = new HttpClient(handler);  
        // 现在,client将不会验证服务器证书  
    }  
3. 配置Kestrel服务器

跳过Kestrel服务器的SSL验证

可以在appsettings.json或appsettings.Development.json中配置Kestrel

C#
  "AllowInvalidCertificates": true,  
  "AllowInvalidHostnames": true  
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部