背景

现在服务器都要求使用https了,正式商用时,肯定要申请标准的商用ssl证书,但是测试时,为了方便,需要采用自签名证书.下面是在使用自签名证书时遇到的问题.

问题描述

安卓客户端通过okhttp访问服务器报错:

2019-05-24 09:35:37.988 24298-24343/com.cxyzy.note E/WM-WorkerWrapper: Work [ id=d948a142-a121-4b3d-aeeb-2d424f9e1f58, tags={ com.cxyzy.note.DataSyncWorker } ] failed because it threw an exception/errorjava.util.concurrent.ExecutionException: javax.net.ssl.SSLPeerUnverifiedException: Hostname 192.168.186.80 not verified:certificate: sha256/XYM7pQnVRFEOtEDnlDn4sJD3jKX592BPsDyBp/I/cGI=DN: CN=192.168.186.80,OU=internet,O=cxyzy,C=CNsubjectAltNames: [127.0.0.1, 127.0.0.1, localhost]at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:516)at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:290)

分析

证书最关键的是“常用名称”即CN(CommonName)和“IP地址”,必须和服务器的ip地址一致,否则就会校验失败.有两种查看证书的方式:

  1. 利用keytool命令查看证书内容
    keytool -v -list -keystore https_keystore.jks -alias server -keypass 123456 -storepass 123456
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UsAjw6Rq-1592650992799)(https://upload-images.jianshu.io/upload_images/6169789-7a3d9e76ff637689.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
  2. 在浏览器查看证书内容
    我在服务器端开放了一个get接口,通过浏览器来查看服务器证书.
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eF7kOy2e-1592650992801)(https://upload-images.jianshu.io/upload_images/6169789-e7d05fd13cefc6ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

解决方案

制作证书时,“常用名称”即CN(CommonName)和“IP地址”,保持和服务器的ip地址一致.
一般可以用openssl等命令来制作证书,我这边用的是kotlin代码来搞的.

关注头条号,第一时间获取最新文章:

自签名证书报错:javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified相关推荐

  1. javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified

    问题: 使用自定义证书的https链接接入项目,运行项目时报错: javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified ...

  2. Android之javax.net.ssl.SSLPeerUnverifiedException: Hostname ip not verified:解决办法

    1.问题 用HttpURLConnection去请求的时候抛了下面的异常 HttpRequest$HttpRequestException: javax.net.ssl.SSLPeerUnverifi ...

  3. javax.net.ssl.SSLPeerUnverifiedException: Hostname 10.1.82.151 not verified:

    "javax.net.ssl.SSLPeerUnverifiedException: Hostname 10.1.82.151 not verified" 意味着在建立 SSL/T ...

  4. javax.net.ssl.SSLPeerUnverifiedException: Hostname 10.1.82.151 not verified android怎么信任证书...

    javax.net.ssl.SSLPeerUnverifiedException: Hostname 10.1.82.151 not verified 意味着客户端无法验证服务器的主机名.这通常是因为 ...

  5. httpclient对象请求时报错javax.net.ssl.SSLException: hostname in certificate didn‘t match

    学习httpclient对象请求时出现如下报错: 出现javax.net.ssl.sslexception报错是因为证书不匹配的主机名的问题. 可以在请求的时候多加上表示修改org.apache.ht ...

  6. javax.net.ssl.SSLPeerUnverifiedException: Certificate for IP doesn't match common name of t

    今天给服务器端添加了证书,访问的时候报错 javax.net.ssl.SSLPeerUnverifiedException: Certificate for <127.0.0.1> doe ...

  7. 小米手机安装https证书报错:无法安装该证书 因为无法读取该证书文件

    Fiddler]手机安装https证书报错:无法安装该证书 因为无法读取该证书文件 之前在手机上使用 "ip:端口号" 的方法就能直接在手机上自动下载安装fiddler证书,但是现 ...

  8. 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常

    避免HttpClient的"javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated"异常 参考文章: (1 ...

  9. android中出现javax.net.ssl.SSLPeerUnverifiedException

    在编写云笔记时需要调用auth2.0协议,在调用是老出现javax.net.ssl.SSLPeerUnverifiedException: No peer certificate的错误,根据有关资料解 ...

最新文章

  1. JSP内置对象-pageContext
  2. C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上...
  3. Android 插件框架实现思路及原理
  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1061:求整数的和与均值
  5. c# 正则获取html标签内容,c# – 使用正则表达式在多个HTML标记之间获取文本
  6. 【转】DICOM开发工具总结
  7. LeetCode 1000. 合并石头的最低成本(区间DP)
  8. 无法使用此数据源,因为没有正确配置performancepoint services
  9. .net 反编译_向.net/Unity 程序员推荐一个十分因吹斯听的网站:sharplab.io
  10. JavaScript 中的相等检测
  11. 选中菜单 android,Android支持:设计NavigationView选中的菜单子项
  12. Atitit 修改密码的功能流程设计 attilax总结
  13. C51单片机密码锁课程设计
  14. 基于Python的指数基金量化投资 - 正三角和倒三角投资模型
  15. Latex 求职简历模版
  16. 为啥淘宝网,拍拍网上的windows7激…
  17. 什么是TOC约束理论以及TOC系统业务流程
  18. c语言表达ch是大写英文字母,如何用C语言输出26个英文字母和其ascii码的对照表...
  19. P1107 [BJWC2008]雷涛的小猫
  20. java 量化指标_量化投资学习笔记13——各种指标的绘图、计算及交易策略

热门文章

  1. python文件内容倒序_python倒序读取文件tail方式
  2. EIP-3523:半同质代币介绍
  3. Just For Fun(乐者为王)——Linux创始人
  4. 学的计算机专业但是键盘打字非常慢怎么办,win10系统下键盘打字反应慢迟钝的解决方法...
  5. CPU中的通用寄存器
  6. Unity-拓展篇-pr序列帧转透明视频
  7. 支付宝扫一扫连接WIFI
  8. Multisim-滑动变阻器、稳压二极管
  9. Yolov5—实现目标检测(win10)
  10. NAACL 2021 Accepted Paper List