苹果签名机制疑问

app首先会被开发者用开发者账号进行签名,苹果审核后会再一次对app进行签名,用户下载应用后,手机MobileInstalltion会检查app的数据签名,而越狱手机是构建了一枚没有代码的应用,当用户点击这个应用的时候,它就会利用Unix的“Shebang”命令,调用一个已经签名的应用代码,通过Code-signing的审查(走进Evasi0n,越狱黑客如何拿到iOS权限)。
疑问1:MobileInstalltion检查的是开发者的签名还是苹果的签名,或者都检查?那开发者真机测试没有苹果签名是不是意味手机不检查苹果的二次签名?
疑问2:重签名说的干掉原来签名然后重签,是干掉的开发者签名还是苹果签名?

我看过一段时间的相关资料,说下我的理解,不一定对哈

疑问1:MobileInstalltion检查的是开发者的签名还是苹果的签名,或者都检查?那开发者真机测试没有苹果签名是不是意味手机不检查苹果的二次签名?
你的应用提交到AppStore后,苹果签名会覆盖开发者签名,也就是所谓“再一次对App签名”(可以覆盖掉是因为苹果已经通过你的证书,证实了该App来自于一个合法的开发者,那么你的证书留在安装包里也没什么用处)。作为普通用户从AppStore购买了该App,在启动它时iPhone就会用机器里已存在的苹果根证书来对其苹果数字签名进行检查。

至于真机测试的App,iPhone验证其合法性时是通过 描述文件+开发者签名 两者协同的比对进行的,同样也需检查

疑问2:重签名说的干掉原来签名然后重签,是干掉的开发者签名还是苹果签名?
越狱机器上一般Patch了AMFI检查“证书签名”的那个函数,但除此之外,App中还打上了一段简单的"SHA签名",由于内核中多处涉及到对该签名的检查(只是检查二进制文件的完整性),难以把这些地方全都Patch掉,那么就干脆把苹果的SHA签名算法抠出来重做一次好了(我想也就是ldid实现的功能)

这是我的理解。。。顺带求高手指正