android - OkHttp SSLHandshakeException - PUT 失败
问题描述
我正在使用 OkHttp 发送 PUT 请求。由于 SSLHandshakeException,其中大约 50% 失败了。对不同主机的所有其余请求(GET、POST)都可以正常工作。使用 Android API 22 和 OkHttp 3.11。
03-04 06:09:35.773 3190 16628 E Terminal: --> PUT https://android-terminal-logs.s3.amazonaws.com/prod/99090/2020-03-04-11-10-21.zip?AWSAccessKeyId=ASIAW37CFKKSPHXIL7WU&Signature=SI4jNBsw9sAMe8f5xADvEHfaziY%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEIL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQDStHynWTBYmza0C5kTAQX%2FxDWzM3rdnJHgbinoIJ7EGwIgBJzzs%2FiXnmDYaveQ5ZYyXIakkUtxUWKfZqb9eAG4%2B08q9QMIWhAAGgw0NzIzODM4MzY4MzYiDKaWilBHn6Uu%2F06JoyrSA5n91yrEPwcxGAjOgRrlQoXDwAWiv9HQUFelTP9ATWMRnSxqo%2F7A6zZH8vd74MfRpETv79a3KCSV1acb9Bao2bRprvuauD%2BzF09dnYWllwx2hjJyfoJiN5g9KObOFva9jQm7H3xokRYo6eQzU%2FrfRLU6fC8IkM%2F7lN0xXP1%2FVbDR4njsEhbEYuet7fDEGZ71d3N7Cw5oa%2F44WidhonsA6WLZDkPPztn4DFrDyf%2FRbB%2Fu6ied0pRdZUgrJ2NsfnZstb28w6rEg9QHOsPWAEJnzQtLW7%2Bq8ICSHBYjT9CiZomeh3mDpYZ0eoxR61nuIoYT21A9jnLyDART0x4w0%2Bdkm4%2FGxClTCZXR3%2F5RhMkqlk2Nvw28C4HfINfxxUrMe477WSiYd8OX%2F0oQa1euhQAusOTY%2FiID28geOF7pnogzHvDkRCS3iCD0%2F%2FG%2BcyrPu9wqIQPYNqNbzueb5OIQJ5sFZaN7MqsnotxVuk7Ru2ylwDIXlzHWdyPDbHB9YKq2vN5FAsSf9LVdVX3qRi3KrX9kzSPJzakyO%2BZ2zp1ozVAQEHh%2B5lbUt7ll6NDbEg3%2F2CiQbAMR5hmfbw9QXwv5Wyt2LWy2zmvXSBVY8infOXKsQTDO%2BgIwteP98gU67wGS6nv2rSP86u4O9ANHdyrSBZ62qpZBxACti%2F08i2vaey6KIOZ%2BretXDxpcYJsApQBVvBbrkCl7FPw1ocKpOLKmjGmV96UGW1nh8nJXILLuK3Vt7SzB%2FnJtogwYym%2FSws26pppz%2BgXjktI8LVajgt4QWhz2ozxVRGnnjGxf5g71Sy4v1U2liUaBoDQFZBCOZ0aaVPHKRWMyIN%2Bh%2B1sGZXYXC1U4rUBbfbDgS74EBvYugrAEL%2BIrbsGkJngDK9kGUI7E5%2BLkwr75ab8TvurSoqNu9rxKM8wKAunOJ95vNm9xgtZVXA7k0kqod1bOkGXVHA%3D%3D&Expires=1583323821 (288958-byte body)
03-04 06:09:35.872 3190 16628 E NativeCrypto: ssl=0xcd7f7600 cert_verify_callback x509_store_ctx=0xc3afacd0 arg=0x0
03-04 06:09:35.873 3190 16628 E NativeCrypto: ssl=0xcd7f7600 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
03-04 06:09:35.876 3190 16628 E Terminal: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
03-04 06:09:35.876 3190 16628 E Terminal: onFailure: Request{method=PUT, url=https://android-terminal-logs.s3.amazonaws.com/prod/99090/2020-03-04-11-10-21.zip?AWSAccessKeyId=ASIAW37CFKKSPHXIL7WU&Signature=SI4jNBsw9sAMe8f5xADvEHfaziY%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEIL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQDStHynWTBYmza0C5kTAQX%2FxDWzM3rdnJHgbinoIJ7EGwIgBJzzs%2FiXnmDYaveQ5ZYyXIakkUtxUWKfZqb9eAG4%2B08q9QMIWhAAGgw0NzIzODM4MzY4MzYiDKaWilBHn6Uu%2F06JoyrSA5n91yrEPwcxGAjOgRrlQoXDwAWiv9HQUFelTP9ATWMRnSxqo%2F7A6zZH8vd74MfRpETv79a3KCSV1acb9Bao2bRprvuauD%2BzF09dnYWllwx2hjJyfoJiN5g9KObOFva9jQm7H3xokRYo6eQzU%2FrfRLU6fC8IkM%2F7lN0xXP1%2FVbDR4njsEhbEYuet7fDEGZ71d3N7Cw5oa%2F44WidhonsA6WLZDkPPztn4DFrDyf%2FRbB%2Fu6ied0pRdZUgrJ2NsfnZstb28w6rEg9QHOsPWAEJnzQtLW7%2Bq8ICSHBYjT9CiZomeh3mDpYZ0eoxR61nuIoYT21A9jnLyDART0x4w0%2Bdkm4%2FGxClTCZXR3%2F5RhMkqlk2Nvw28C4HfINfxxUrMe477WSiYd8OX%2F0oQa1euhQAusOTY%2FiID28geOF7pnogzHvDkRCS3iCD0%2F%2FG%2BcyrPu9wqIQPYNqNbzueb5OIQJ5sFZaN7MqsnotxVuk7Ru2ylwDIXlzHWdyPDbHB9YKq2vN5FAsSf9LVdVX3qRi3KrX9kzSPJzakyO%2BZ2zp1ozVAQEHh%2B5lbUt7ll6NDbEg3%2F2CiQbAMR5hmfbw9QXwv5Wyt2LWy2zmvXSBVY8infOXKsQTDO%2BgIwteP98gU67wGS6nv2rSP86u4O9ANHdyrSBZ62qpZBxACti%2F08i2vaey6KIOZ%2BretXDxpcYJsApQBVvBbrkCl7FPw1ocKpOLKmjGmV96UGW1nh8nJXILLuK3Vt7SzB%2FnJtogwYym%2FSws26pppz%2BgXjktI8LVajgt4QWhz2ozxVRGnnjGxf5g71Sy4v1U2liUaBoDQFZBCOZ0aaVPHKRWMyIN%2Bh%2B1sGZXYXC1U4rUBbfbDgS74EBvYugrAEL%2BIrbsGkJngDK9kGUI7E5%2BLkwr75ab8TvurSoqNu9rxKM8wKAunOJ95vNm9xgtZVXA7k0kqod1bOkGXVHA%3D%3D&Expires=1583323821, tags={}}
此外,每 5 分钟cert_verify_callback
logcat 就会出现一次错误
03-04 05:56:12.182 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback x509_store_ctx=0xe2b6d3b0 arg=0x0
03-04 05:56:12.182 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
03-04 05:57:07.662 3190 3259 E Terminal: Listening to the card
03-04 05:58:11.700 3190 3259 E Terminal: Listening to the card
03-04 05:59:15.810 3190 3259 E Terminal: Listening to the card
03-04 06:00:19.977 3190 3259 E Terminal: Listening to the card
03-04 06:01:12.390 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback x509_store_ctx=0xe2b6d3b0 arg=0x0
03-04 06:01:12.390 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
03-04 06:01:24.089 3190 3259 E Terminal: Listening to the card
03-04 06:02:28.166 3190 3259 E Terminal: Listening to the card
03-04 06:03:32.244 3190 3259 E Terminal: Listening to the card
03-04 06:04:36.347 3190 3259 E Terminal: Listening to the card
03-04 06:05:40.431 3190 3259 E Terminal: Listening to the card
03-04 06:06:12.606 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback x509_store_ctx=0xe2b6d3b0 arg=0x0
03-04 06:06:12.607 3190 3215 E NativeCrypto: ssl=0xc063f200 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
这是什么意思?
解决方案
推荐阅读
- javascript - 删除空值和键形式 JSON Object Javascript
- sorting - 是否有 *name/literature* 用于将数字对集表示为复数向量(用于排序目的)?
- python - 在 mongodb 列表中成功插入对象时递增计数器
- javascript - PWA 应用重新运行 未检测到匹配的服务工作者
- c++ - 填满优先级队列后我的代码退出
- angular - 从 Typescript union 数据类型访问属性
- spring - 模拟 bean 自动装配到 @Spy bean mockito
- objection.js - 除了 knex 查询构建器之外,Objection.js 中是否有任何用于 Leftjoin 和 RightJoin 的方法?
- ios - Ansible - 将本地日期时间附加到文件名
- java - 即使在检查条件之后也出现空指针异常