一、项目内的需求

我们做的app都是企业级的应用,而企业级的应用的下载需要遵循itms协议,itms协议下需要https链接,这就需要你的服务器支持https的协议,该协议需要申请SSL证书,我们测试时用的是自签名的证书,而自签名的证书本来就就存在不安全行,自从ios10.3更新以来即使安装了自签名的证书也报错,说无法下载app,是因为苹果阻止了不受信任的证书

二、解决方案

1、自签名的证书,需要手动的为证书打开信任,通用->关于本机->证书信任设置->证书打开信任

2、申请可信任的证书像StartCom的证书,当然会很贵,关于ios中可用的受信任的根证书列表,可以参考苹果的官方的文档

https://support.apple.com/zh-cn/HT208125

三、自签名的证书为什么是不安全的

1、自签证书最容易受到SSL中间人攻击

自签证书是不会被浏览器所信任的证书,用户在访问自签证书时,浏览器会警告用户此证书不受信任,需要人工确认是否信任此证书。所有使用自签证书的网站都明确地告诉用户出现这种情况,用户必须点信任并继续浏览!这就给中间人攻击造成了可之机。

2、自签证书支持不安全的SSL通信重新协商机制

几乎所有使用自签SSL证书的服务器都存在不安全的SSL通信重新协商安全漏洞,这是SSL协议的安全漏洞,由于自签证书系统并没有跟踪最新的技术而没有及时补漏!此漏洞会被黑客利用而截获用户的加密信息,如银行账户和密码等,非常危险,一定要及时修补。

3、自签证书使用不安全的1024位非对称密钥对

而目前几乎所有自签证书都是1024位,自签根证书也都是1024位,当然都是不安全的。还是那句话:由于部署自签SSL证书而无法获得专业SSL证书提供商的专业指导,根本就不知道1024位已经不安全了

4、自签证书证书有效期太长

自签证书中还有一个普遍的问题是证书有效期太长,短则5年,长则20年、30年的都有,并且还都是使用不安全1024位加密算法。可能是自签证书制作时反正又不要钱,就多发几年吧,而根本不知道PKI技术标准中为何要限制证书有效期的基本原理是:有效期越长,就越有可能被黑客破解,因为他有足够长的时间(20年)来破解你的加密。

自签名的https证书是不安全的的更多相关文章

  1. Android开发 - Retrofit 2 使用自签名的HTTPS证书进行API请求

    为了确保数据传输的安全,现在越来越多的应用使用Https的方式来进行数据传输,使用https有很多有点,比如: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,要比ht ...

  2. iOS适配HTTPS,创建一个自签名的SSL证书(x509)具体步骤

    引言(创建生成的证书只能用于测试使用.如果想使用自签名证书就只能以自己为 CA机构颁发证书,进行双向认证才能使用) 使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的.也就是说,任何人都 ...

  3. 申请https证书需要注意的4大问题

    HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL ...

  4. 给Nginx配置一个自签名的SSL证书

    转自廖雪峰的官方网站http://www.liaoxuefeng.com/ 要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTT ...

  5. Nginx配置一个自签名的SSL证书

    http://www.liaoxuefeng.com/article/0014189023237367e8d42829de24b6eaf893ca47df4fb5e000 要保证Web浏览器到服务器的 ...

  6. [转]用Node.js创建自签名的HTTPS服务器

    用Node.js创建自签名的HTTPS服务器 创建自己的CA机构 创建服务器端证书 创建客户端证书 将证书打包 创建自己的CA机构 为CA生成私钥 openssl genrsa -out ca-key ...

  7. https证书申请流程和简介

    HTTPS证书是什么 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安 ...

  8. Let's Encrypt,免费好用的 HTTPS 证书

    很早之前我就在关注 Let's Encrypt 这个免费.自动化.开放的证书签发服务.它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务,而 ...

  9. 生成线上用https证书,支持通配符和多域名,初学Let’s Encrypt用于IIS,纯本地手动

    自简书发布的上篇<生成本地测试用https证书,支持通配符和多域名,初学OpenSSL>以来,本地测试用https用的妥妥的. 线上一直用的腾讯云的免费证书(每个域名都要一个证书(滑稽), ...

随机推荐

  1. java_eclipse添加DID实现自动提示

    便捷无错开发 对于xml 配置没有自动提示是多么恼火就不用说了,eclipse本身很多都是默认关闭了的,如果开发者不知道的话,就不知道怎么去设置,下面介绍几种自动提示设置的方法: XML:获得提示更好 ...

  2. [ASP.NET MVC]笔记(三) 成员资格、授权和安全性

    阻止CSRF(跨站请求伪造) ASP.NET MVC提供了一个阻止CSRF攻击的好方法 在每个提交的表单中包含 @using (Html.BeginForm("Index", &q ...

  3. jvm系列 (五) ---类的加载机制

    类的加载机制 目录 jvm系列(一):jvm内存区域与溢出 jvm系列(二):垃圾收集器与内存分配策略 jvm系列(三):锁的优化 jvm系列 (四) ---强.软.弱.虚引用 我的博客目录 什么是类 ...

  4. OSI与TCP/IP网络模型分层

      学习linux的人,都会接触到一些网络方面的知识.作为一个linux方面的萌新,今天,小编就接触了OSI模型和TCP/IP协议栈,那么什么是OSI模型呢?     OSI模型,开放式系统互联通信参 ...

  5. java伪代码

    愚公移山的目标是毕力平险,指通豫南,达于汉阴,方法是扣石垦壤,箕畚运于渤海之尾 条件判断if(愚公死了)我的儿子替我完成.循环结构是“子又生孙,孙又生子,子子孙孙无穷匮也” import.java.大 ...

  6. Node.js之eventproxy详解

    安装 npm install eventproxy --save 调用 var EventProxy = require('eventproxy'); 异步协作 多类型异步协作 此处以页面渲染为场景, ...

  7. 【Beta】 第四次Daily Scrum Meeting

    一.本次会议为第四次meeting会议 二.时间:10:00AM-10:20AM 地点:陆大楼 三.会议站立式照片 四.今日任务安排 成员 昨日任务 今日任务 林晓芳 查询app提醒功能模块和用户登录 ...

  8. 201521123049 《JAVA程序设计》 第1周学习总结

    1. 本章学习总结 1.认识了新的一门计算机编程语言JAVA: 2.JAVA的编写与C语言类似,都是不能利用指针进行编写: 3.在实验课上初步认识JAVA并利用JAVA进行简单的编程,在实践上得到进一 ...

  9. How To:禁用ubuntu全局菜单(global menu)的方法

    刚从windows转过来的新手可用会觉得ubuntu unity下的全局菜单(global menu)用起来很不方便.下边是介绍去除全局菜单的方法 1.打开终端(可以去dash主页里面搜,也可以直接按 ...

  10. 201521123073 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1. finally 题目4-2 1.1 截图你的提交结果( ...