Glide Unacceptable certificate

javax.net.ssl.SSLHandshakeException 证书报错的两种情况 安卓时间问题导致证书验证失败 阅读详情

Glide 加载图片异常信息

Glide: Root cause (1 of 1)
    javax.net.ssl.SSLHandshakeException: Unacceptable certificate: CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:231)
        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadDataWithRedirects(HttpUrlFetcher.java:100)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:56)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:164)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:154)
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:62)
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100)
        at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:63)
        at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:310)
        at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:279)
        at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
        at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:431)
     Caused by: java.security.cert.CertificateException: Unacceptable certificate: CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
        at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:611)
        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:507)
        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:426)
        at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:354)
        at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
        at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:89)
        at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:224)
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:407)
        at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
        at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:387)
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:226)
        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196) 
        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153) 
        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116) 
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186) 
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128) 
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) 
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289) 
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131) 
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90) 
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30) 
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadDataWithRedirects(HttpUrlFetcher.java:100) 
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:56) 
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100) 
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:164) 
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:154) 
        at com.bumptech.glide.load.data.HttpUrlFetcher.loadData(HttpUrlFetcher.java:62) 
        at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:100) 
        at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:63) 
        at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:310) 
        at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:279) 
        at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:234) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
        at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:431) 
     Caused by: java.security.cert.CertificateNotYetValidException: Certificate not valid until Thu Mar 17 16:40:46 GMT 2016 (compared to Sat Jan 03 22:04:25 GMT 1970)

使用glide加载图片是,忽略证书校验
首先实现x509TrustMamanger

class TrustAllCerts : X509TrustManager{
    val TAG:String="TrustAllCerts"
    override fun checkClientTrusted(chain: Array<out X509Certificate>?, authType: String?) {
        Log.d(TAG,"checkClientTrusted")
    }

    override fun checkServerTrusted(chain: Array<out X509Certificate>?, authType: String?) {
        Log.d(TAG,"checkServerTrusted")
    }

    override fun getAcceptedIssuers(): Array<X509Certificate> {
        Log.d(TAG,"getAcceptedIssuers")
        return arrayOf<X509Certificate>()
    }
}
       //使用registr.replace添加自定义的网络请求策略 
        Glide.get(view.context).registry.replace(
                GlideUrl::class.java, InputStream::class.java, OkHttpUrlLoader.Factory(getSSLOkHttpClient()))
                
        Glide.with(view.context)
                .load(imageUrl)
                .transition(DrawableTransitionOptions.withCrossFade())
                .into(view)


fun getSSLOkHttpClient(): Call.Factory {
    val sslContext: SSLContext = SSLContext.getInstance("SSL")
    //添加自定义证书管理类
    sslContext.init(null, arrayOf(TrustAllCerts()), SecureRandom())
    val sslSocketFactory: SSLSocketFactory = sslContext.socketFactory
    //自定义网络路径校验方法 不做处理直接返回为true
    return OkHttpClient().newBuilder()
            .sslSocketFactory(sslSocketFactory, TrustAllCerts())
            .protocols(Arrays.asList(Protocol.HTTP_1_1))
            .hostnameVerifier(object : HostnameVerifier {
                override fun verify(hostname: String?, session: SSLSession?): Boolean {
                    return true
                }
            }).build()
}

cpp中auto, auto &和const auto &的区别 笔者初学cpp,如有纰漏,请见谅并指正。 用在哪 auto用于推断类型,具体可用于声明变量时根据初始化表达式自动推断该变量的类型,也就是可用在for循环。 也可以用于声明函数返回值的占位符。 怎么用 这里主要讲for循环中三者的区别 直接说结论 auto auto用于copy一份集合中的数据,对于这种情况,在循环体中不论怎么修改copy的数据,是不会影响到原有集合中的数据的。 举个简单的例子 int arr[5] = {0, 1, 2, 3, 4}; cout << "使用auto" <& 阅读详情

相关推荐

Obsidian + AI 自动知识管理:手把手教程

装完后,在命令面板(Ctrl+P)搜 "Generate Summary",AI 会在当前笔记末尾追加一段摘要。你一个月前写的、现在想快速回顾的笔记长篇笔记(三千字以上)开会记录这类信息密集的内容过度自动化。有人装上插件后,所有笔记都让 AI 打标签、写摘要、找关联。最后笔记库看起来整整齐齐,但全都是 AI 的链接,你自己完全没参与。这样做的后果是什么?你写过的笔记跟你没有"真实连接"。你还是记不住。你还是不知道自己的知识库里有什么。AI 推荐,你决策。

weixin_43571227的博客 747

Unacceptable certificate: CN=GlobalSign Domain Validation CA - SHA256 - G2, O=GlobalSign nv-sa, C=BE

使用https出现过再次这个错误,都是在使用Android App SDK的时候,怀疑过是不是域名https证书是不是过期了,不过最后确定不是。我的两次问题都是手机的时间不对,似乎和真实时间相差几个小时就不行了,没有再进一步验证,导致出现这个异常。 javax.net.ssl.SSLHandshakeException: Unacceptable certificate: CN=GlobalSi...

Android/Linux的专栏 8619

在AutoDL的A100云服务器上,用Docker搞定Sapien+RobotWin环境(附完整conda list)

本文详细介绍了在AutoDL的A100云服务器上使用Docker构建Sapien+RobotWin环境的完整指南。通过配置Vulkan渲染管线、精确复现Conda环境以及解决常见问题,帮助研究人员高效搭建稳定的机器人仿真开发环境,特别适合需要高性能GPU加速的复杂仿真任务。

weixin_30689307的博客 430

android 10以上 自签名证书,SSL报错Unacceptable certificate,android 9 以下正常 问题解决

2020-04-26 16:41:48.437 28979-28979/? W/System.err: Caused by: java.security.cert.CertificateException: Unacceptable certificate: CN=*.testtt.com, OU=sbj, O=sbj, ST=bj, C=CN 2020-04-26 16:41:48.437 2...

fab357103354的博客 5106

手把手教你:在联想/戴尔笔记本上安装华为电脑管家,实现多屏协同(附详细避坑步骤)

本文详细指导如何在联想、戴尔等非华为笔记本上安装华为电脑管家,实现多屏协同功能。从硬件兼容性检查到定制化安装流程,再到功能调优与异常处理,提供了一套完整的解决方案,帮助用户突破品牌限制,享受华为生态的高效办公体验。

weixin_30251829的博客 837

secureCRT 破解方法

3、输入注册信息打开keygen.exe,点击path,选择SecureCRT的安装目录(例如D:\VanDykeSoftware\Clients)的securecrt.exe打开,继续下一步打开LicenseHelper.exe,如下。1、注册SecureCRT9.1打开keygen.exe,出现以下问题(没有关掉安全防护,一双击打开,Windows会自动识别keygen.exe为bingdu并删除)打开桌面SecureCRT,此界面不输入内容,直接点击下一步。2、存储配置文件夹(可以默认安装)

逆水行舟 1万+

javax.net.ssl.SSLHandshakeException: Unacceptable certificate: CN=GeoTrust SSL C

最近从Android N升级到Android O,发现163的邮箱以pop3,110,SSL/TSL方式登录的时候会弹出Unacceptable certificate: CN=GeoTrust SSL CA. 从字面看出是证书有问题,将N的代码和O的代码进行对比,发现关于对应的部分都没有修改,很纳闷啊。再细细跟着代码流程,最后将 exception通过printStackTrace();打...

Judy889的专栏 5915

Python爬虫实战:基于异步爬虫与机器学习的数据采集——以电商平台在线评论有用性分析为例

内容涵盖爬虫原理、反爬虫策略应对、数据清洗、数据存储以及简单的数据分析预览,并为后续利用机器学习模型(如逻辑回归、随机森林)分析评论有用性打下坚实的数据基础。特别是在电子商务领域,在线评论作为UGC的一种主要形式,深刻影响着消费者的购买决策和商家的信誉体系。然而,平台上的评论质量参差不齐,充斥着大量无意义的灌水、广告甚至虚假评论。因此,如何自动识别和筛选出“有用”的评论,成为了学术界和工业界共同关注的焦点。我们选择目前Python爬虫领域最前沿、效率最高的技术组合,以确保爬虫的稳定性、速度和可扩展性。

2201_76125261的博客 106

Android APP开发内容图片不显示

I/Glide: Root cause (1 of 1) Cause (1 of 1): class java.io.FileNotFoundException: No content provider: 有以上类似报错信息,原因是http请求被系统禁止。 解决办法: 1. 在res 下xml文件夹中新建一个 network_config.xml 文件 <?xml ...

weixin_30586257的博客 885

ANSYS WORKBENCH——参数化建模以及参数优化(结果导出为Excel)

目录 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 ​ 注:印记面的创建 5、模型属性设置 注:设置优化目标 6、回主界面,选择direct optimization模块 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 至此参数化建模就已经完成啦 注:印记面的创建 印记面一般是一个虚拟的区域,参与实际的网格划分,但是只是由于载.

python_AI_fans的博客 1万+

深水区探秘:小红书App x-s参数逆向与高并发爬虫实战(2026版)

在移动互联网的碎片化时代,小红书凭借其“社区+电商”的独特模式,积累了超过3亿月活用户。其内容生态覆盖了从美妆、穿搭到旅行、数码等几乎所有垂直领域。对于数据分析师、市场研究员以及AI算法工程师而言,小红书平台蕴含的价值是巨大的——无论是热门趋势洞察、KOL画像分析,还是多模态图文数据的采集。然而,想要高效、稳定地获取小红书App的公开数据,却并非易事。与Web端相比,小红书App的防护体系堪称“铜墙铁壁”。其核心的反爬机制建立在动态混淆的加密参数之上,尤其是请求头中的X-SX-T以及X-S-Common。

2201_76125261的博客 262

glide 问题总结

背景:加载图片之后需要获取图片的宽高,使用SimpleTarget获取图片的宽高之后,就会出现以上的问题经过分析,之所以会出现上面的问题,主要还是由于RecyclerView的复用机制导致的。当我滑动的时候,顶部的View是复用被移出列表的itemView,但是这些被复用的itemView可能还在加载之前的数据,可是这些itemView还要加载当前位置上需要加载的数据,这就导致glide一直在加载,没有释放,用CustomViewTarget替换SimpleTarget就可解决@Override。

weixin_42068745的博客 848

泛微表单添加自定义按钮

泛微表单添加自定义按钮

技术分享 2191

android 服务端返回 n不好用,ssl-SSLHandshakeException:Android N / 7.0上的握手失败

我正在开发一个应用程序,(高级)用户必须为此设置自己的服务器(即nginx)才能运行后端应用程序。 需要在应用程序中配置相应的域,以便它可以连接。 我主要在自己的手机(sony z3c)上进行测试,并开始为5.1开发。 后来我收到了6.0的更新,但在仿真器中仍保持有效的5.1。 不久前,我开始使用具有7.0映像的AVD进行工作,但令我惊讶的是它无法连接到服务器,并告诉我SSL握手失败。 我的ngi...

weixin_42186579的博客 979

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android https下载遇到SSLHandshakeException自签证书认证解决

SSLHandshakeException解决 搞了一周 各种头疼 最后终于搞定 直接代码走起 在做请求之前添加一个方法 createIgnoreVerifySSL("TLSv1.1"); /** * 绕过验证 * @return */ fun createIgnoreVerifySSL(sslVersion: String): SSLSocketFactory { var sc = SSLContext.getInstance(sslVersio

qq_46041134的博客 664

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android 使用 HTTPS 问题解决(SSLHandshakeException)

title date categories tags Android 5.0以下TLS1.x SSLHandshakeException 2016-11-30 12:17:02 -0800 Android Android ...

chenrunhua的专栏 7345

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android SSLHandshakeException

SSLHandshakeException 相关SSLHandshakeException 报错信息,在项目中已经实现了,TrustAllManager,为何还会报错呢 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. javax.net.ssl.SSLHandshakeException: Una

Extra Lazy的博客 7335

android socket握手,SSLHandshakeException:在Android N / 7.0上握手失败

在这里,您是Volley的工作解决方案:在以单例代码创建队列之前:public class VolleyServiceSingleton {private RequestQueue mRequestQueue;private HurlStack mStack;private VolleyServiceSingleton(){SSLSocketFactoryExtended factory = nu...

weixin_39578513的博客 297

Unacceptable certificate:CN=Let′s Encrypt Authority X3,O=Let′s Encrypt,C=US

Android客户端请求接口时候报错,Unacceptable certificate:CN=Let′s Encrypt Authority X3,O=Let′s Encrypt,C=US 原因:手机系统时间不正确,如果系统时间是按1970年来获取,就会报该错误信息,把时间同步到现在即可解决...

Mr_freeler的博客 5069

关于Android Glide加载图片不出来,但网络上能显示的问题

javax.net.ssl.SSLHandshakeException(com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: Certificate not valid until Mon Nov 06 20:23:45 GMT+08:00...

qq_34286611的博客 8929

Android Glide加载需要Https双向认证的图片

解决Glide加载HTTP是双向认证的图片

Froeverlove的博客 738

android打开保存图片格式,android – 保存后未显示的配置文件图像(它...

我正在尝试上传用户个人资料图像并存储在firebase中.我的图像成功存储在firebase存储和用户数据库中.当我上传它在屏幕上显示的图像时,但是一旦我保存并重新打开设置以查看配置文件图像,它就不显示,它只显示空白的白色屏幕(但重新打开时的名称和手机显示,只有图像不显示节目)我附加了从db获取值并在ui中显示的代码,并添加了saveUserInformation(),当用户单击保存图像按钮时,该...

weixin_34145350的博客 429

Android javax.ent.ssl.SSLHandshakeException:解决方案

有可能是设备的时间有问题,检查一下日期和时间与当前日期时间是否匹配,匹配排查日期时间问题,不匹配设置正确再请求,是否解决,没解决可能是证书的问题。本人遇到的都是时间问题,没有真正的证书问题,时间问题导致证书无效。https在不同设备上的错误信息。在OKHTTP请求的地方设置。

qq_49278195的博客 819

Glide加载https图片时 忽略证书校验

Glide加载https图片时 忽略证书校验

fengyeNom1的博客 1616

SSL证书认证失败javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: 解决方法

访问第三方接口传递数据,出现SSL证书认证失败的情况,于是做出了如下解决方案: 1.代码层跳出SSL验证 javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching idcardcert.market.al...

qq_40315210的博客 3万+

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative

我遇到报这个错是因为需要把图片取出来转为base64编码,使用freemarker导出为Word时图片位置需要将图片转为base64编码,由于图片放置与内网且保存地址是https形式的,所以就会报证书错误,这里就需要我们手动去忽略证书问题;

qq_53612179的博客 572
上一篇: Kotlin基本语法练习第二章
下一篇: 启动优化工具bootchart
WoozXi
博客等级 码龄14年 7粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值