Android Webview 使用 Paypal 获取 ERROR_FAILED_SSL_HANDSHAKE

Posted

技术标签:

【中文标题】Android Webview 使用 Paypal 获取 ERROR_FAILED_SSL_HANDSHAKE【英文标题】:Android Webview getting ERROR_FAILED_SSL_HANDSHAKE with Paypal 【发布时间】:2016-11-18 21:30:27 【问题描述】:

我正在使用重定向到 Paypal 交易的 Webview。问题是在 4.4 之前的 android 设备中,URL

https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=sometokenprovided

给我一​​个 ERROR_FAILED_SSL_HANDSHAKE 错误。我阅读了一些可能的解决方案,但没有一个有效。有人说这个错误只发生在沙箱中,而不是在生产中,但是如果他们也更改生产服务器,我想做好准备。

所以我想问是否有已知的工作方法来解决这个问题。

另外,考虑到我没有调用此方法:

public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error)

但是这个是被称为的:

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)

有人可以帮忙吗?

提前致谢, 若昂

【问题讨论】:

【参考方案1】:

您需要确保您的 HTTP 请求是通过 TLS 1.2 而不是 SSLv3 进行的。这是服务器软件堆栈问题。

【讨论】:

但似乎 TLS 1.2 仅适用于 KitKat+ 设备。我需要添加对前 KitKat 的支持。 PayPal(以及几乎所有网络服务提供商)不再接受通过 SSLv3 的请求。出于安全目的,他们现在需要 TLS 1.2。我只能告诉你这些。

以上是关于Android Webview 使用 Paypal 获取 ERROR_FAILED_SSL_HANDSHAKE的主要内容,如果未能解决你的问题,请参考以下文章

Webview android中的Paypal付款页面布局损坏

Android Webview 应用程序无法通过 Opencart 网站上的 PayPal 处理付款

Webview android中的Paypal支付页面布局损坏可能css未正确加载?

使用 Webview 的贝宝

WebView 中的 Paypal = 白页(不是 https 问题)

在一个框架中,因为它设置了 X-Frame-Options android paypal