1.真机测试。首先包括证书,bundleid,设备id,描述文件四大类。证书分为开发者证书,adhoc内部测试证书,发布者证书以及开发推送证书和生产推送证书。bundleid分为explicitid和通配ID,通配ID是指带前缀的这类id,可用于测试这类app并发布在除了appstore的其他非官方平台上。描述文件分为开发者描述文件和发布者描述文件,他绑定了前三者信息在里面。注:证书和描述文件的删除都有延迟,但运用之后紧记删除。证书自签名原理:在证书颁发机构首先生成csr(包含公钥和用户信息),同时生成公钥和私钥。然后,将csr上传至开发者证书中心,在ca颁发机构用私钥签名加密的情况下生成cer,并双击安装在本地。打包时,证书在ca的公钥解密下验证证书是否合法并且未被修改,并验证证书与描述文件的匹配行,同时用证书里的私钥签名包中文件。运行或者安装时,描述文件验证匹配性,解密证书之后,并用公钥验证app的合法性和完整性证书。即证书验证app,描述文件验证codesign。最后:无证书测试,事实上,是xcode自动为我们生成了证书和描述文件,即appleid是不需要开通开发者权限。另证书的删除具有实效性。
2.加密。base64,MD5(HMAC),DES,RSA。base64严格意义来说是一种编码,在unicode下每一个字符有对应的数字编码,uft8是其中一种将其转成8位的二进制符,在base64的编码表下翻译成字符串,他是可逆的。而MD5则是将一串文本翻译成32位的16进制数,他是不可逆的,纵然有网站利用数据库查到一部分,可以通过加盐的方式提高复杂度;而HMAC增加了key和时间,复杂度更高,将字符串第一次加密后拼接当前时间,并再次加密,服务端去对比两者是否一致。对称加密是指加密和解密的算法和密钥一致。非对称加密指两端分别拥有公钥和私钥,每端的私钥只能由本端的公钥解密,复杂度高,安全性强。而数字签名则是结合了非对称加密和摘要算法。本质上是对原始文本加密后的摘要算法进行对比。
网友评论