问题描述
是否可以通过电子邮件或互联网分发未签名的应用程序?IE. itms-services://?action=download-manifest&url=URL_TO_PLIST
.
Is there any way to distribute an unsigned app through emails or internet?I.e. itms-services://?action=download-manifest&url=URL_TO_PLIST
.
此外,是否有可能在越狱设备上安装未签名的应用程序?
Moreover, it is a security issue if it is possible to install unsigned app on a jailbroken device?
谢谢.
推荐答案
很抱歉,如果这是一个非常晚的答复,但问题尚未解决,所以我假设您仍然需要一个答案.这是一个安全问题,但是由于越狱,用户在技术上正在开放"其设备以应对此类安全威胁,因此,我认为这并不是什么大问题.如果他们越狱,他们可能知道自己在做什么.
Sorry if this is an extremely late response, but the question isn't closed yet, so I'm assuming you still need an answer. It is a security concern, but with a jailbreak, users are technically "opening" their device to such security threats, so I don't think that's much of a concern. If they jailbreak, they probably know what they're doing.
要回答问题的第一部分,您可以使用ldid对应用程序进行伪签名,然后创建一个itms-services://链接,供用户点击以安装.唯一需要注意的是,iOS设备将与oscp.apple.com& ax.init.itunes.apple.com来验证应用程序的签名.如果要绕过此操作,则必须使用移动配置文件更改iOS设备的DNS设置.使用Apple的iPhone配置实用程序执行此操作,该实用程序将使用您指定的设置生成一个.mobileconfig.您不必为每台设备都生成一个特定的文件,因此只需创建一个就可以了.
To answer the first part of your question, you can use ldid to pseudo-sign the app and then create an itms-services:// link that users tap to install. The only caveat to this option is that the iOS Device will contact oscp.apple.com & ax.init.itunes.apple.com to verify the app's signature. If you want to bypass this, you'll have to change the DNS settings of the iOS device using a mobile configuration file. Do this using Apple's iPhone Configuration Utility, which will generate a .mobileconfig with your specified settings. You won't have to generate a specific file for each device, so you can make one and you're done.
无论如何,回到主题上,越狱并不会消除对代码签名的需求,它只会消除对需要使用Apple证书签名的应用程序的需求. itms-services://是相同需求"的绕过(对于开发人员).由于Apple显然不希望非开发人员只签署未经Apple批准的应用并安装它们,因此他们已经实施了证书检查.签名证书已与Apple的两台服务器进行了交叉检查.其中一台服务器(我不知道是哪台)检查证书名称中的"iPhone Developer:".由Apple的WWDRCA证书签名的其他支票.如果iOS设备从任一服务器获得响应,表明该应用程序为不良".如果iOS设备没有响应,它仍会安装该应用程序.
Anyways, back to the topic, jailbreaking doesn't remove the need for codesigning, it only removes the need for an app to be signed with Apple's certificate(s). itms-services:// is a bypass (for developers) of the same "need". Since Apple obviously doesn't want people who aren't developers just signing apps that aren't approved by Apple and installing them, they've implemented certificate checks. The signing-certificate is cross-checked with Apple's two servers. One of the servers (I don't know which) checks for "iPhone Developer:" in the name of the certificate. The other checks that it was signed by Apple's WWDRCA Certificate. If the iOS Device gets a response from either of the servers signifying that the app is "bad". If the iOS Device doesn't get a response, it will still install the app.
要绕过此问题的方法是克隆一个DNS服务器,并创建一个特定的条目,该条目将把这两个服务器的IP更改为其他IP地址.这样,设备将不会获得响应,而是将安装该应用程序.
The way to go with this in order to bypass would be to clone a DNS server, and create a specific entry that will change the IP of these two servers to something (anything) else. That way, the Device will not get a response, and will install the application.
这篇关于分发未签名的应用程序iPhone的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!