iOS 证书签名那些事

之前面试了很多 iOS 开发工程师,项目做的还可以,但是当聊起证书和签名这些的时候,没有几个能说的头头是道。作为一个iOS 开发工程师,每当你配置各种证书忙的焦头烂额的时候,有没有想过这 TM 到底是为了啥?本文就告诉你这TM 的是为了啥!Why ?玩儿苹果的都知道,通常情况下我们喜欢的 APP 是从 AppStore 上下载的。但是,苹果希望在 iOS 平台对第三方 APP ...
摘要由CSDN通过智能技术生成

之前面试了很多 iOS 开发工程师,项目做的还可以,但是当聊起证书和签名这些的时候,没有几个能说的头头是道。作为一个iOS 开发工程师,每当你配置各种证书忙的焦头烂额的时候,有没有想过这 TM 到底是为了啥?本文就告诉你这TM 的是为了啥!

Why ?

玩儿苹果的都知道,通常情况下我们喜欢的 APP 是从 AppStore 上下载的。但是,苹果希望在 iOS 平台对第三方 APP 有绝对的控制权,一定要保证每一个安装到 iOS 上的 APP 都是经过苹果官方允许的,怎样保证呢?就是通过签名机制。

非对称加密

通常我们说的签名就是数字签名,它是基于非对称加密算法实现的。对称加密是通过同一份密钥加密和解密数据,而非对称加密则有两份密钥,分别是公钥和私钥,用公钥加密的数据,要用私钥才能解密,用私钥加密的数据,要用公钥才能解密。

简单说一下常用的非对称加密算法 RSA 的数学原理,理解简单的数学原理,就可以理解非对称加密是怎么做到的,为什么会是安全的:

选两个质数p和q,相乘得出一个大整数n,例如 p=61,q=53,n=pq=3233

选 1-n 间的随便一个质数e,例如 e = 17

经过一系列数学公式,算出一个数字d,满足:

a. 通过n和e这两个数据一组数据进行数学运算后,可以通过 n 和 d 去反解运算,反过来也可以。

b. 如果只知道n和e,要推导出d,需要知道p和q,也就是要需要把 n 因数分解。

上述的(n,e)这两个数据在一起就是公钥,(n,d)这两个数据就是私钥,满足用私钥加密,公钥解密,或反过来公钥加密,私钥解密,也满足在只暴露公钥(只知道n和 e)的情况下,要推导出私钥(n,d),需要把大整数n因数分解。目前因数分解只能靠暴力穷举,而n数字越大,越难以用穷举计算出因数p和q,也就越安全,当n大到二进制 1024 位或 2048

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucy-JY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值