javax.net.ssl.SSLHandshakeException 证书报错的两种情况

安卓中证书报错

根证书不在有效期报错

报错信息

Failed to connect to server: javax.net.ssl.SSLHandshakeException: Unacceptable certificate: CN=GTS CA 1C3, O=Google Trust Services LLC, C=US

访问的域名证书不在有效期报错

报错信息

javax.net.ssl.SSLHandshakeException: Chain validation failed

复现方法:

1.获取对应域名的相关证书的有效期,可以通过Chrome浏览器中的安全图标查看

如 访问https://www.baidu.com域名
对应CA证书有效期 :2021/7/1 到 2022/8/2
对应的二级根证书的有效期: 2014/2/20 到 2024/2/20
对应的一级根证书的有效期:1998/9/1 到 2028/1/28

2.设置机器的系统时间到对应证书有效期之外,访问对应域名就会报错

域名证书过期:Chain validation failed
根证书过期: Unacceptable certificate: CN=GTS CA 1C3, O=Google Trust Services LLC, C=US

业务报错的原因分析

1. Ntp时间同步失败

开机后机器同步时间失败,日志如下

system_process D/SntpClient: request time failed: java.net.SocketTimeoutException: Poll timed out
system_process D/NtpTrustedTime: setServer:[time.android.com]

之后更换ntp服务器同步成功:

system_process D/NetworkTimeUpdateService: mTryAgainCounter = 1;mNtpServers.size() = 2;index = 1;mNtpServers = asia.pool.ntp.org
system_process D/NtpTrustedTime: setServer:[asia.pool.ntp.org]
system_process D/SntpClient: round trip: 304ms, clock offset: 115ms
system_process D/NtpTrustedTime: setServer:[time.android.com]

2.默认时间处在证书有效期之外,报错

由于业务的执行也是开机后执行,时间同步没有成功就执行网络请求,导致失败

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值