天天看点

iOS 签名加密原理(一)

我们知道,要想安装iOS应用程序,必须要从appstore下载。苹果有一套签名加密的机制来保证用户不能从其他的渠道安装应用。

那么苹果如果做到让iphone只能安装从appstore应用呢?

苹果使用一对非对称密钥,对app来源进行控制。首先,私钥A存放在苹果appstore服务器,该私钥对应的公钥A则存放在每一台手机上面。当应用开发者向appstore服务器上传应用二进制文件之后,服务器先对该二进制文件进行hash签名,然后用私钥A对签名进行加密。

当用户从appstore下载带有加密后的签名的APP安装包之后,首先使用公钥A对安装包携带的加密过的签名进行解密,然后对安装包的二进制文件按照同样的hash算法进行计算hash签名,让后将这个签名和签名解密得到的签名进行比对,如果相同就允许安装到手机上,否则,拒绝安装。

iOS 签名加密原理(一)