前言
在Android开发项目中难免要进行https请求,如果你也遇到这样的问题,那么我想这片博客能对你有些帮助。
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
这个异常指的是找不到指定的信任证书。为了避免本地一个一个添加证书的麻烦,尤其是在测试情况下。可以通过一定方法去信任所有证书,免去麻烦。
注:这个方法虽然省事,但是缺乏安全性,使用前自行考虑。另外,本文所有方法并非自己研究所得,我只是个搬运工,为一些新人们提供方法,也给自己留作笔记.
Volley 框架信任所有https证书
关于Volley的使用在此不做介绍。
信任所有证书,只有两个简单的步骤:
1.复制粘贴一个工具类,该类源自网络,针对HttpsURLConnection证书信任问题。
2.在进行联网请求前调用该类allowAllSSL()方法
举个栗子
//在进行联网请求前调用该类allowAllSSL()方法
FakeX509TrustManager.allowAllSSL();
queue = Volley.newRequestQueue(context);
//封装请求省略
queue.add(request);
送上代码
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
/**
* Created by Yangmu on 16/12/16.
*/
public class