SSLHandshake: Received fatal alert: certificate_unknown

来源:互联网 发布:好看的美剧 知乎 编辑:程序博客网 时间:2024/06/06 01:57

问题

不采用Charles 代理的时候,可以正常访问,当使用Charles的时候不行

现象

当https 链接的证书得不到Charles证书的信任之后,就会包这个。

这里写图片描述

这里写图片描述

解决:
  可以使用以下openssl命令来获取到服务器的公开二进制证书(以google为例):

"openssl s_client -connect www.google.com:443 </dev/null 2>/dev/null | openssl x509 -outform DER > https.cer"

让手机去信任cer即可。

另如还是同样有问题,配置info.plist如下信息
-(最后的大招)
。既然都允许http 连接,这种https的RC4-SHA 更可以。

<key>NSAppTransportSecurity</key>    <dict>        <key>NSAllowsArbitraryLoads</key>        <true/>    </dict>

结论

这种https的SSL证书 应该属于不太安全的那种,如果一定要用Charles的话,只能将app的SSL验证 放开,达到允许请求http的级别就可以抓包了。

p s: 开启系统预定义的本地化功能

CFBundleAllowMixedLocalizations

CFBundleAllowMixedLocalizations

阅读全文
0 0
原创粉丝点击