iOS --- 安全性与证书工作原理

iOS安全模型的精髓在于沙盒(sandbox)。

沙盒: app捆绑目录、Documents、Library和tmp

 Documents:           应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录

  tmp:                     存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除

 Library/Caches:      存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除

 Library/Application:iTunes会备份此目录,如果不想备份可以使用NSURL setResourceValue:forKey:error

证书工作原理:

 非对称密码学

      密钥A、密钥B 相互解密对方加密的数据(该数据称为密文)

      公钥用来加密数据,私钥用来解密公钥加密数据

      用散列算法处理数据,用私钥加密(生产的密文就是签名), 用同样的散列算法处理数据,用公钥解密收到的签名,然后比较这两个散列值。

证书是由公钥、证书相关的元数据及一系列其他证书的签名生产的。

钥匙串由操作系统保护、在设备锁定时会进行加密处理。  SSKeychain轻量级iOS安全框架    https://github.com/samsoffes/sskeychain

 

通过访问组来共享数据(多应用之间共享数据)

iOS通过访问组提供了针对凭据共享的一个解决方案。

 

iOS  生产证书步骤:

1、进入到Menber Center界面

2, 点击Identifiers 下的App IDs +  

     完成第3步骤后, 要把生成的推送证书导出  然后见第四步骤

 

3、 在Certificates中,点击Development(开发证书)或Production(发布证书)

 

  由于开发者账号对应生产证书是有限制的,正常情况下只能申请两到三个,所以上图显示为不可点击状态

 

4、导入生成的推送证书

 

5、 添加设备 Devices

6、生成描述文件

 

posted @ 2015-11-25 14:00  ly1992  阅读(205)  评论(0)    收藏  举报