- 问题背景
- 解决方法
- 总结
问题背景
用Charles(Mac版)抓包iPhone中的https请求,出现unknown。以前遇到过这种问题,是通过Charles抓包https中出现unknown这篇文章解决的。
但是现在,就算信任了证书,抖音还是一样的https请求unknown,同样是SSL handshake failed。
类似于之前的问题,那么这次肯定也是证书问题了。
解决方法
这是一种叫做SSL Pinning的技术,大概十年前就有应用开始使用这种技术了,目的是为了防止中间人攻击。
原理不算复杂,https就是http请求套了一个TLS/SSL安全层。安全层用于通信加密,即传输的数据不是明文,而是密文。
消息到达应用内部,或者到达服务器内部,才会解密。通常用的加密算法是RSA、SHA这些加解密算法。
但是知道算法还不能解密,解密还需要一个东西——私钥(一串数据)。
原来一开始,应用和服务器就交换了叫做公钥的一串数据,应用把自己私钥的公钥传给服务器,服务器把自己私钥的公钥传给应用。
所以传输数据前,双方都会用对方的公钥来加密数据,然后数据到达后,再用自己的私钥来解密数据。
因为私钥是不会出