gpt4 book ai didi

delphi - 在 "Poodle"更改后让 Indy 调用与 Paypal IPN 一起工作

转载 作者:可可西里 更新时间:2023-11-01 16:42:40 25 4
gpt4 key购买 nike

我有一个使用 PayPal 的 IPN 的网络应用程序。 10 月 15 日,由于 Poodle 安全漏洞,PayPal 进行了一些修改: Venture Beat: paypal-says-its-poodle-security-flaw-fix-may-break-the-service-for-some-users-merchants

此时我调用了https://www.paypal.com/cgi-bin/webscr开始返回 SSL3_READ_BYTES:sslv3 alert handshake failure

似乎有针对 php 的修复:PHP Fix

我正在为 Indy 寻找解决此问题的解决方案。我的代码如下:

IdSSLIOHandlerSocket1 := TIdSSLIOHandlerSocketOpenSSL.create(nil);
try
with IdSSLIOHandlerSocket1 do begin
SSLOptions.Method := sslvSSLv3;
SSLOptions.Mode := sslmUnassigned;
SSLOptions.VerifyMode := [];
SSLOptions.VerifyDepth := 2;
end;
IdHTTP1 := TIdHTTP.create(nil);
with IdHTTP1 do begin
IOHandler := IdSSLIOHandlerSocket1;
ReadTimeout := 0;
AllowCookies := True;
ProxyParams.BasicAuthentication := False;
ProxyParams.ProxyPort := 0;
Request.ContentLength := -1;
Request.ContentRangeEnd := 0;
Request.ContentRangeStart := 0;
Request.ContentType := 'text/html';
Request.Accept := 'text/html, */*';
Request.BasicAuthentication := False;
Request.UserAgent := 'Mozilla/3.0 (compatible; Indy Library)';
HTTPOptions := [hoForceEncodeParams];
end;
ss := TStringList.Create;
ss.Add('cmd=_notify-validate');
for i:= 0 to ARequestInfo.Params.count -1 do begin
ss.Add(ARequestInfo.Params[i]);
end;

mPayPalServer := 'https://www.paypal.com/cgi-bin/webscr';
mResult := HTTPDecode(IdHTTP1.Post(mPayPalServer, ss));

我已尝试将 SSLOptions.Method 替换为:

SSLOptions.Method := sslvTLSv1;

但是还是不行。

最佳答案

您的代码通过此行明确配置 SSL 处理程序以使用 SSL 3:

SSLOptions.Method := sslvSSLv3;

来自 https://stackoverflow.com/a/26513369/80901 :

PayPal disabled SSLv3 in response to the "POODLE" vunerability. Read about in here: PayPal Response, so your Indy client will not be able to connect.

要连接,请检查支持哪些较新的协议(protocol)(TLS 1.0、1.1 或 1.2)并配置 SSL 处理程序以使用此协议(protocol)。

例如使用 TLS 指定允许的 TLS 版本:

SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];

关于delphi - 在 "Poodle"更改后让 Indy 调用与 Paypal IPN 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26692422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com