• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 设置 TrustKit

[复制链接]
菜鸟教程小白 发表于 2022-12-13 14:25:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在开发一个应用程序,它很快需要包含 https 以进行网络通信。当我们注意到我们正在通过 URL 发送所有用户凭据时,我们就开始担心了。这不好,因为这样我们的用户名和密码就公开了。经过大量研究,固定服务器 SSL 证书的公钥似乎是可行的方法。我决定使用 TrustKit 固定证书的公钥,这样我们就不必在应用程序中固定整个证书。这样我们就不必在过期时继续更换证书,因此不必构建新的 IPA 或提交给 Apple。为了启动并运行它,我需要回答几个问题。

所以我明白开始使用 TrustKit 需要做三件主要的事情。

1.我需要知道我们将要使用的并将它们包含在我们的 info.plist 中。

  • 问题:此域中的服务器是否需要做任何准备才能获得处理一切所需的 TrustKit

2. 我需要 2 个公钥哈希,它们也需要包含在 info.plist 中。

  • 问题:如何从证书中提取公钥散列?我从哪里获得这些哈希值?

3.我需要知道要使用什么公钥算法

  • 问题:这是什么?我如何确定要使用哪一个?

一旦所有这些都准备就绪,我还需要在应用程序方面做些什么来确保 TrustKit 能长期发挥作用吗?



Best Answer-推荐答案


  1. 服务器本身不需要做任何特别的事情,但您的运营/基础设施团队需要做;参见 2. 和备用引脚。

  2. TrustKit 提供了一个 Python 脚本来生成您正在寻找的散列和算法:https://github.com/datatheorem/TrustKit/blob/master/get_pin_from_certificate.py .您需要在域的 CA 证书(这将是第一个哈希)上使用脚本,然后在另一个 CA 证书上使用脚本,您从中为您的域购买了备份证书。如果您需要快速轮换服务器上的(第一个)证书,而不会使您的应用程序变砖,则需要此备份 pin。这在此处有更详细的解释:https://noncombatant.org/2015/05/01/about-http-public-key-pinning/ .

  3. 2. 中描述的脚本也返回算法。它是嵌入在服务器证书中的公钥算法(RSA、ECDSA)。这是 TrustKit 所需要的,因为 iOS 不提供 API 来自动检测证书的算法。

关于ios - 设置 TrustKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40618715/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap