在我的 java 应用程序中与 paypal 服务器通信时出现 ssl 握手错误
Getting ssl handshake error while communicating with paypal server in my java application
我正在为我的 java 应用程序使用 paypal 沙盒帐户,并使用 centos 6.7 进行托管。当我 运行 应用程序时,我在与 paypal 帐户通信时遇到错误。
我收到如下错误,
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1961)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:515)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
有一些安全更新。您需要为沙箱使用 TLS 1.2(更新也需要在以后应用于实时模式下的 Paypal)。
这是路线图和不同的日期:
2016 年 1 月 14 日此日期之后,沙盒 API 端点仅支持新标准(HTTP/1.1、TLS 1.2 和 SHA-256 证书)。这包括 www.sandbox.paypal.com 仅接受 IPN 回发的 HTTPS。
2016 年 1 月 31 日生产开始颁发 API 具有新标准(2048 位,SHA-256)的凭证证书。
2016 年 2 月 29 日测试沙盒端点将被删除。
2016 年 3 月 17 日新的 SFTP IP 地址添加到 reports.paypal.com 的 DNS。
2016 年 4 月 14 日从 reports.paypal.com 的 DNS 中删除旧 SFTP IP 地址。
2016 年 5 月 12 日旧 SFTP IP 地址停止工作。
2016 年 6 月 17 日此日期之后,生产 API 端点将开始转向新标准(HTTP/1.1、TLS 1.2 和 SHA-256 证书)
2016 年 9 月 30 日 IPN 回传到 www.paypal.com 只允许 HTTPS
2018 年 1 月 1 日所有证书 API 证书必须已升级到新标准。
我正在为我的 java 应用程序使用 paypal 沙盒帐户,并使用 centos 6.7 进行托管。当我 运行 应用程序时,我在与 paypal 帐户通信时遇到错误。
我收到如下错误,
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1961)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:515)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
有一些安全更新。您需要为沙箱使用 TLS 1.2(更新也需要在以后应用于实时模式下的 Paypal)。
这是路线图和不同的日期:
2016 年 1 月 14 日此日期之后,沙盒 API 端点仅支持新标准(HTTP/1.1、TLS 1.2 和 SHA-256 证书)。这包括 www.sandbox.paypal.com 仅接受 IPN 回发的 HTTPS。
2016 年 1 月 31 日生产开始颁发 API 具有新标准(2048 位,SHA-256)的凭证证书。
2016 年 2 月 29 日测试沙盒端点将被删除。
2016 年 3 月 17 日新的 SFTP IP 地址添加到 reports.paypal.com 的 DNS。
2016 年 4 月 14 日从 reports.paypal.com 的 DNS 中删除旧 SFTP IP 地址。
2016 年 5 月 12 日旧 SFTP IP 地址停止工作。
2016 年 6 月 17 日此日期之后,生产 API 端点将开始转向新标准(HTTP/1.1、TLS 1.2 和 SHA-256 证书)
2016 年 9 月 30 日 IPN 回传到 www.paypal.com 只允许 HTTPS
2018 年 1 月 1 日所有证书 API 证书必须已升级到新标准。