应用签名-签名原理

2019-06-14  本文已影响0人  yahibo

HASH加密

将任意大小的数据通过散列算法变换成固定长度的字符,通常为32位的固定字符,又称hash值。特点:算法公开、不可逆、结果定长。常见的MD5加密。

非对称加密

公钥加密,私钥解密,加密过程需要经历很多计算,因此效率很低。明文->公钥->密文 密文->私钥->明文
支付宝,微信等支付过程需要的签名也是这一原理实现。数字签名流程如下:

sign.png

iOS签名

为避免垃圾应用的安装,破坏应用生态,苹果采用更高级的加密,对应用进行双层代码签名。
1、首先在Mac端生成一对公私钥(Xcode自动生成)为公钥M私钥M
2、苹果有一对固定的公私钥,私钥在苹果后台,公钥在每个iOS系统中,称公钥A,私钥A
3、把公钥M和开发者信息,上传到苹果后台(CSR文件),用苹果后台里的私钥A去签名公钥M,得到一个含有公钥M签名的数据包,该包即为证书
4、iPhone中的公钥A可解密用苹果服务器私钥A加密的公钥M,通过公钥M可以对加密的APP进行解密。

描述文件:包含证书、APPID、设备id、打包后用来证明我们的程序的安全性和合法性。如常用的测试包,需要添加测试人员的udid,苹果需要对其验证后,相应的设备才能安装。签名原理如图:

appsign.png

《应用签名-命令签名》

上一篇 下一篇

猜你喜欢

热点阅读