使用 SSL 连接时出错

Error connecting with SSL

我正在尝试连接到此 url,只是使用获取请求。 Goberment page 但总是得到错误 EIdOSSLConnectError "Error connecting with SSL"

我使用的代码是这个,它适用于其他页面,但不适用于这个

IdHTTP1.HandleRedirects := true;
IdHTTP1.AllowCookies := true;
IdHTTP1.IOHandler := TIdSSLIOHandlerSocket.Create(IdHTTP1);
IdHTTP1.CookieManager := TIdCookieManager.Create(IdHTTP1);
with TIdSSLIOHandlerSocket(IdHTTP1.IOHandler) do begin
  SSLOptions.Method := sslvTLSv1;
  SSLOptions.Mode := sslmUnassigned;
  SSLOptions.VerifyMode := [];
  SSLOptions.VerifyDepth := 0;
  PassThrough := True;
end;
IdHttp1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0';
IdHTTP1.RedirectMaximum := 30;
sHtml := IdHTTP1.Get('https://loginc.mat.sat.gob.mx/nidp/app/login?id=XACCertiSAT&sid=0&option=credential&sid=0');//<----Error here

Delphi 7,印第 9.00.10

感谢任何建议

该站点似乎需要 TLS v1.2,因为这是我使用浏览器访问该站点时协商的内容。

此外,如果我接下来在我的 PaleMoon 浏览器中转到 about:config 并将名为 security.tls.version.max 的首选项设置为 1,我将重新访问您的 url 然后使用 TLS v1.0 和我得到: 安全连接失败 连接到 loginc.mat.sat.gob.mx 时出错。 无法与对等方安全通信:没有通用的加密算法。 (错误代码:ssl_error_no_cypher_overlap)

但是,我尝试过的其他网站(例如银行)在 TLS v1 这样设置的情况下仍然可以正常工作。看来您的目标网站很挑剔,所以我会尝试调整您的路线: SSLOptions.Method := sslvTLSv1;