前言
最近有一个需求是在android端实现webSocket的双向认证,一开始用到了Java-WebSocket的框架来实现,但是有个问题是在高版本的Android手机上运行是正常,但是在Android6.0的魅族和OPPO手机上却验证失败了,报错CertPathValidatorException: Trust anchor for certification path not found,应该就是证书问题了,网上找了一些方法,但是依然无效
public static X509TrustManager UnSafeTrustManager = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[]{};
}
};
sslContext.init(keyManagers, new TrustManager[]{UnSafeTrustManager}, new SecureRandom())
原因是webSo