前言
运维说服务器证书到期了,更新了证书,结果出现了上述问题。
解决方案
通过排查项目代码,发现之前没有做证书信赖验证。这里先提供一个能解决问题但是不是最佳做法的方案,方便大家快速处理问题
项目使用了okhttp
通过对okhttp的builder添加证书校验
OkHttpClient.Builder builder
SSLContext sslContext = SSLContextUtil.getDefaultSLLContext();
if (sslContext != null) {
SSLSocketFactory socketFactory = sslContext.getSocketFactory();
builder.sslSocketFactory(socketFactory);
}
builder.hostnameVerifier(SSLContextUtil.HOSTNAME_VERIFIER);
SSLContextUtil工具类
/*
* Copyright 2015 Yan Zhenjie
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicab