首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >THTTPClient到达TLS1.3只会导致一个错误

THTTPClient到达TLS1.3只会导致一个错误
EN

Stack Overflow用户
提问于 2022-03-17 02:51:58
回答 1查看 591关注 0票数 2

此代码:

代码语言:javascript
运行
复制
uses
  System.Net.HttpClient;

procedure TForm2.Button1Click(Sender: TObject);
var
  LHTTP: THTTPClient;
  LResponse: IHTTPResponse;
begin
  LHTTP := THTTPClient.Create;
  try
    LHTTP.SecureProtocols := [THTTPSecureProtocol.TLS13];
    LResponse := LHTTP.Get('https://tls13.1d.pw'); // TLS 1.3 ONLY site
    if LResponse.StatusCode = 200 then
      ShowMessage('TLS 1.3 worked');
  finally
    LHTTP.Free;
  end;
end;

在以下方面的成果:

代码语言:javascript
运行
复制
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class ENetHTTPClientException with message 'Error sending data: (12175) A security error occurred'.
---------------------------
Break   Continue   Help   Copy   
---------------------------

使用Windows 10 (在Windows 11上使用相同的代码)。我已经进入了Windows中的Internet选项设置并启用了TLS 1.3,但是这并不能解决这个问题。

还有什么我需要做的吗?

EN

Stack Overflow用户

回答已采纳

发布于 2022-03-17 04:19:14

根据WinHTTP 错误信息文档:

ERROR_WINHTTP_SECURE_FAILURE 12175 在服务器发送的安全套接字层()证书中发现一个或多个错误。要确定遇到哪种错误类型,请检查状态回调函数中的WINHTTP_CALLBACK_STATUS_SECURE_FAILURE通知。有关更多信息,请参见WINHTTP_STATUS_CALLBACK

不幸的是,THTTPClient没有为您提供使用此类回调的访问权限,但它确实使用内部回调来捕获ERROR_WINHTTP_SECURE_FAILURE在其SecureFailureReasons属性中的原因。这样你就能查到更多的信息。

您确定在Windows 10上启用了TLS 1.3吗?您在使用build 1903或更高版本吗?早期构建不支持TLS 1.3。

如何在windows 10中启用TLS 1.3

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71506537

复制
相关文章

相似问题

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