https

正确使用AFNetworking的SSL保证网络安全

0x00 引言 一篇很早前的文章了,为了后续的一系列文章,把这篇文章先放上来吧。 通过本文,你可以了解iOS下如何用AFNetworking来强保证HTTPS的安全。 0x01 描述 AFNetworking, iOS开发中,以其优雅的结构设计和简便的调用方式,使其成为了最流行的网络开源库之一(另一个应该算是ASI了,但经久失修不维护的原因,已经不是首选)。 我们在大多数情况下,都能够正确使用AFNetworking的功能,但在网络安全日趋严峻的今天,加入SSL使用HTTPS已经成为了很多大中型网站的首选;这点在国外尤其流行,例如Google已经全站HTTPS。 本文便主要描述了如何正确使用AFNetworking中的SSL功能。详细步骤如下: Step 1 获取到站点的证书 我们可以使用以下openssl命令来获取到服务器的公开二进制证书(以google为例): "openssl s_client

  • Cain Wang
    Cain Wang
6 min read
https

简单粗暴系列之HTTPS原理(一)

0x01 开篇 简单粗暴,本文来聊聊HTTPS。 啥是HTTPS? 说白了就是HTTP Over SSL。HTTP呢,就是我们平时上网时,浏览器和服务器之间传输数据的一项协议。普通情况下,浏览器发送的请求会经过若干个网络中间节点,最后到达服务器;然后服务器又将请求的数据经过若干个网络中间节点发送回给浏览器,这时候浏览器就能够显示我们想要看到的页面。 这个过程中,其实并没有存在什么太大的问题。问题出在,如果我们需要在网页上输入一些敏感信息,如我们的银行卡账号和密码,发送给服务器,就会在中间节点中存在泄漏的风险。HTTPS就是为了保障传输过程中的安全目的而生的。HTTPS保证了数据仅仅只在发送方和目的方双方可见,而对中间任一一个节点都不可见。这是怎么实现的?我们来慢慢看。 注:该故事适用于TLS 1.3 以下.

  • Cain Wang
    Cain Wang
8 min read
Tech

监控SDK的架构设计

0x00 引言 随着柯洁对战AlphaGo的败北,人工智能一词进入了越来越多人的视界。一时间似乎人人都在谈论人工智能,风口似乎正在向这一块领域进行倾斜。不过今天我们来谈的不是人工智能,而是人工智能背后的大数据。 构建人工智能基础的机器学习,需要大量的数据进行训练;即要有足够的数据量来喂饱我们的机器学习算法,以让它更加的智能。 那么问题来了,如何获取到我们想要的大数据?有读者可能第一时间就会想到现在非常火的爬虫技术。没错,爬虫可以帮我们获取到大量的公开数据。然而对于我们自身的业务、性能等信息却无用武之地。因此我们自然会想到,自己构建一个监控或者说埋点的SDK,来获取用户行为或者性能分析的数据。这样便能够最大限度地发挥数据的作用。 本文会结合一些经验来谈谈以下几个方面的内容: 如何架构一个iOS的监控SDK? 如何实现自动采集? 0x01 iOS下的监控设计架构 俗话说得好,脱离业务的实践来谈架构就是一种耍流氓。因此我们先来看看一种监控业务的场景。 其实采集用户数据的场景无外乎两种:APM和UBT。

  • Cain Wang
    Cain Wang
21 min read