移动端开发Bug汇总,持续更新...

httpsErrorCode = -999
//Android
D/OkHttp  (29134): <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
//iOS
errorCode=-999, invalidDomain
  • 问题原因:公司有2个域名,线上https(有自签名证书),内测http(后转为https却无https证书),导致内测环境出现http errorCode=-999错误
  • 解决办法,设置不验证SSL证书
// iOS:
    // 客户端是否信任非法证书
    manager.securityPolicy.allowInvalidCertificates = YES;
    // 是否在证书域字段中验证域名
    manager.securityPolicy.validatesDomainName = NO;
//Android: 
//使用httpClient的地方添加以下两句代码
.sslSocketFactory(SSLSocketClientCustom.getSSLSocketFactory())
.hostnameVerifier(SSLSocketClientCustom.getHostnameVerifier())

SSL部分代码

你可能感兴趣的:(移动端开发Bug汇总,持续更新...)