ios企业签名流程的一些的疑问

ios企业签名流程的一些的疑问企业证书签名因为限制少,在国内被广泛用于测试和盗版,分发平台测试平台都是通过企业证书分发,国内一些市场像PP助手,爱思助手,一部分安装手段也是通过企业证书重签名。通过企业证书签名安装的App,启动时都会验证证书的有效期,并且不定期请求ios服务器看证书是否被吊销,若已过期或被吊销,就会无法启动App。对于这种助手的盗版安装手段,ios想打击只能一个个吊销企业证书,并没有太好的办法。

这里我的疑问是,ios做了那么多签名和验证机制去限制在iOS安装App,为什么又要出这样一个限制很少的方式让盗版钻空子呢?若真的是企业用途不适合上AppStore,也完全可以在AppStore开辟一个小的私密版块,还是通过AppStore去安装,就不会有这个问题了。

ios企业签名流程的一些的疑问

AppStore加密
另一个问题是我们把App传上AppStore后,ios会对App进行加密,导致App体积增大不少,这个加密实际上是没卵用的,只是让破解的人要多做一个步骤,运行App去内存dump出可执行文件而已,无论怎样加密,都可以用这种方式拿出加密前的可执行文件。所以为什么要做这样的加密呢?想不到有什么好处。
本地私钥
我们看到前面说的签名流程很绕很复杂,经常出现各种问题,像有ProvisioningProfile文件但证书又不对,本地有公钥证书没对应私钥等情况,不理解原理的情况下会被绕晕,我的疑问是,这里为什么不能简化呢?还是以开发证书为例,为什么一定要用本地Mac生成的私钥去签名?ios要的只是本地签名,私钥不一定是要本地生成的,ios也可以自己生成一对公私钥给我们,放在ProvisioningProfile里,我们用里面的私钥去加密就行了,这样就不会有CertificateSigningRequest和p12的概念,跟本地keychain没有关系,不需要关心证书,只要有ProvisioningProfile就能签名,流程会减少,易用性会提高很多,同时ios想要的控制一点都不会少,也没有什么安全问题,为什么不这样设计呢?
能想到的一个原因是ProvisioningProfile在非AppStore安装时会打包进安装包,第三方拿到这个ProvisioningProfile文件就能直接用起来给他自己的App签名了。但这种问题也挺好解决,只需要打包时去掉文件里的私钥就行了,所以仍不明白为什么这样设计。

原创文章,作者:亲测学习网,如若转载,请注明出处:http://www.qince.net/ios%e4%bc%81%e4%b8%9a%e7%ad%be%e5%90%8d%e6%b5%81%e7%a8%8b%e7%9a%84%e4%b8%80%e4%ba%9b%e7%9a%84%e7%96%91%e9%97%ae.html

(0)
上一篇 2022年6月17日 下午11:08
下一篇 2022年6月17日 下午11:08

猜你喜欢