安卓使用https导入证书的方法请看这篇文章《 Android如何使用Https》(已不能访问),看完这篇文章的方法已经可以解决https使用过程中的问题,本文只是建立在这篇文章之上的小小拓展。通过这篇文章所使用的代码,在使用https证书导入时默认配置通过了所有链接,这有点不安全,但是某些手机由于内部时间并不是正常时间,在https证书的有效时间外,创建连接时,只想避免这一点时可以捕获时间验证的异常,使其不报错。具体是配置TrustManager中checkServerTrusted的方法,代码如下:

new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {if (chain != null)for (X509Certificate cert : chain) {try {// Make sure that it hasn't expired.cert.checkValidity();} catch (CertificateExpiredException e) {//此异常是证书已经过期异常,在手机调到证书生效时间之后会捕捉到此异常L.w(TAG, "checkServerTrusted: CertificateExpiredException:" + e.getLocalizedMessage());} catch (CertificateNotYetValidException e) {//此异常是证书未生效异常,在手机调到证书生效时间之前会捕捉到此异常L.w(TAG, "checkServerTrusted: CertificateNotYetValidException:" + e.getLocalizedMessage());}try {// Verify the certificate's public key chain.cert.verify(cert.getPublicKey());} catch (CertificateExpiredException e) {//此异常是证书已经过期异常,在手机调到证书生效时间之后会捕捉到此异常L.w(TAG, "checkServerTrusted: CertificateExpiredException:" + e.getLocalizedMessage());} catch (CertificateNotYetValidException e) {//此异常是证书未生效异常,在手机调到证书生效时间之前会捕捉到此异常L.w(TAG, "checkServerTrusted: CertificateNotYetValidException:" + e.getLocalizedMessage());} catch (CertificateException ex) {//其他异常正常报错L.w(TAG, "Throw checkClientTrusted: " + ex.getLocalizedMessage());throw ex;} catch (NoSuchAlgorithmException e) {L.w(TAG, "checkServerTrusted: NoSuchAlgorithmException:" + e.getLocalizedMessage());} catch (InvalidKeyException e) {L.w(TAG, "checkServerTrusted: InvalidKeyException:" + e.getLocalizedMessage());} catch (NoSuchProviderException e) {L.w(TAG, "checkServerTrusted: NoSuchProviderException:" + e.getLocalizedMessage());} catch (SignatureException e) {L.w(TAG, "checkServerTrusted: SignatureException:" + e.getLocalizedMessage());}}}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}}}

参考资料

http://blog.csdn.net/yanzhenjie1003/article/details/50731272 (已不能访问)
http://blog.csdn.net/xxxsz/article/details/8024601
http://pingguohe.net/2016/02/26/Android-App-secure-ssl.html
https://www.jianshu.com/p/c146ea1fc1ca (加载本地cer文件或者使用字符串加密信息)
请大家尊重原创者版权,转载请标明出处哦: http://blog.csdn.net/spyunknow/article/details/57405670 谢谢。

Android使用Https证书有效期与手机时间不符合时,如何验证通过相关推荐

  1. Android安装Charles证书(华为手机测试)

    Android安装Charles证书(华为手机测试) 首先说明的是,最好看过其他安装证书的文章,已经会了-PC端Charles和手机代理设置-这一步骤,这样会很明白我在说什么. 方法一: 1. 通过C ...

  2. 查看域名https证书的起止时间

    通过域名查看: // 查看https证书的起止时间(假设域名为 "jinfu.im") echo | openssl s_client -servername jinfu.im - ...

  3. Android https证书过期,Android 的 HTTPS 证书过期异常

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 对于 HTTPS 服务器证书过期的问题,由于 Android 安全库的不断更新,尽管在证书验证的时候抛出的异常大同小异, ...

  4. android 微信 https 证书,微信https未授权证书究竟是什么意思

    我们在网络上使用浏览器中难免会出现证书错误的问题,那么有人说浏览器出现的不是证书错误,而是微信https未授权证书尚未通过认证,对于证书未通过,那么什么才是微信https证书呢?当出现微信https无 ...

  5. ssl证书购买后多久生效?ssl证书有效期多长时间

    ssl证书购买后多久生效?网站要想实现https加密访问,则离不开ssl证书.SSL证书申请是需要通过CA机构审核之后才可以颁发的,颁发SSL证书之后,才能进行安装.安装SSL证书之后,立马就可以使用 ...

  6. Golang:https证书有效期检测

    原理:使用go提供的模块 crypto/tls,可以获取域名证书的信息,通过到期时间可以判断证书是否过期 package mainimport ("crypto/tls"" ...

  7. 如何防止android app被误删除,如何避免手机清理缓存时误删了重要文件【注意事项】...

    如何避免手机清理缓存时误删了重要文件? 缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据, ...

  8. https证书存在错误该怎么解决

    https证书的主要作用是保障网站的基本安全,越来越多的网站已经使用上了.https证书安装一般需要专业的技术人员进行指导,否则很容易出错.那么https证书存在错误是怎么回事?该如何解决呢? htt ...

  9. Tomcat 配置https证书

    TTPS 是安全套接字层超文本传输协议,在http 的基础上加入了 SSL协议,需要使用证书来校验身份. HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议 ...

最新文章

  1. python urllib2_Python爬虫 urllib2的使用方法详解
  2. Go gin获取GET请求参数
  3. 简单的聊聊,顺便招前端
  4. IDEA_Debug_checks references injected by intellilang plugin
  5. dataoutputstream.write 有时无法发送_RTK实操——CORS官方网教您如何解决RTK无法固定的问题...
  6. nodejs+html转换pdf,Nodejs 中将html转换成pdf文件
  7. 搜狐超越新浪给创业者的两个启示:不断+耐心布局
  8. 详解jdbcTemplate和namedParameterJdbcTemplate
  9. 更改shape文件字段名,提示Failed to alter the name of the field
  10. 解决php导出excel 长数字变成科学计数法
  11. 2的n次方对照表,十六进制二进制对照表
  12. 步进电机控制和步进电机原理
  13. 日本口音英语发音规则
  14. Codeforces Round #644 (Div. 3) F.Spy-string
  15. php字符串去空格函数,php去掉字符串中的空格
  16. scrapy爬虫框架 (5. 避免被封措施)
  17. 八爪鱼采集教程——房源信息采集
  18. 牛客10 Popping Balloons
  19. 跨平台应用开发进阶(五十四):Android APP调试工具:ADB
  20. CSS-项目-调整顺序

热门文章

  1. 【电子电路】MOS选型技巧
  2. Visual Studio Enterprise 2019序列号
  3. 非递归中序遍历二叉树总结(2种方法)
  4. 【Java300集· 知识内容基础讲解,手把手基础教学,快速掌握Java】
  5. 解析贷中管理的5大策略模块
  6. VS2019MFC进行无预览简单绘图:直线,画笔,画刷,矩形,椭圆
  7. keepalived检测UDP端口
  8. 《机器学习》西瓜书读书笔记
  9. 网店没流量怎么办?告诉你这几个技巧!
  10. 轮播图-bxslider