iOS MDM详解(4)— 安装mobileconfig配置文件

iOS MDM详解(4)— 安装mobileconfig配置文件,第1张

主动以PUT 请求的方式访问 CheckInURL 提交设备相关的信息,发送的内容如下:

以上可看出

MessageType 标记消息类型,其值为 Authenticate

Topic 推送主题,即证书中的用户ID

UDID 设备的唯一标示符

Server收到请求后根据 MessageType 的值做不同的数据处理 *** 作,然后响应一个空的字典,完成认证

主要参数:

Server响应,返回的数据为空, *** 作完成结束连接。

以上及完成了设备了登记注册,此时在Server后台可以查看到该注册设备相关的信息。

(1)锁屏命令

RequestType DeviceLock

效果描述:(1)无任何d窗提示

(2)直接锁屏

(2)安装应用市场app

RequestType InstallApplication

效果描述: (1) d窗提示输入apple id 账号密码

(2)输入完成安装app,并且当且已被mdm 管理

(3)安装企业app

RequestType InstallApplication

效果描述:(1) d窗提示一个确认框,是否安装app

(2)输入完成安装app,并且当且已被mdm 管理

(3)需要去设置信任描述文件

(4)删除应用市场app/删除企业app

RequestType RemoveApplication

效果描述: (1) 当前应用需要被mdm 服务器管理才能被删除

(5) 获取被管理的程序列表

RequestType ManagedApplicationList

效果描述: (1) 获取被管理的应用的数组

(2)数组内包含每个应用的相关信息:是否被管理

是否被配置过app内参数

是否app内有反馈参数

(6)获取设备信息

RequestType DeviceInformation

效果描述: 可获取的关键字段如下:UDID,DeviceName,OSVersion,SerialNumber,BatteryLevel

IMEI,MEID,IsSupervised(是否被监督)IsDeviceLocatorServiceEnabled(例如是否开启查找我的iphone),

IsActivationLockEnabled(设备激活锁?)IsCloudBackupEnabled,ICCID (sim 卡标识符),BluetoothMAC(蓝牙地址),WiFiMAC(wifi 地址)

(7)获取设备应用安装列表

RequestType InstalledApplicationList

效果描述:(1)可获取到安装程序数组,也可以获取被管理的app

(2) 可获取的关键字段如下:Identifier(包名),Version(app版本),Name(程序名) ,BundleSize(静态包大小),

DynamicSize(沙盒下文件夹大小),ExternalVersionIdentifier(貌似是appstore的版本号?)

文档包含如下,

ios 113后具备的功能

AppStoreVendable(可以参与储存功能)DeviceBasedVPP(如果这是真的,这个应用程序分布到设备不需要一个苹果)AdHocCodeSigned(hoc 签名的包) HasUpdateAvailable(如果这是真的,这个应用程序有更新可用。这把钥匙只会给App Store应用程序。macOS,这个键只会出现VPP应用。)

(8)安装profile

RequestType:InstallProfile

效果描述 :(1)无任何d窗提示

(2)目前使用profile 可以限制使用截图,限制相册的使用,siri ,icloud 等的使用

(9)删除profile

RequestType:RemoveProfile

效果描述: (1)无任何d窗提示

(2)还原未限制使用截图,限制相册的使用,siri ,icloud 等的使用

(10)获取profile

RequestType:ProfileList

效果描述:(1)获取profile 的数组

(2)可以获取每个profile相关的信息

(11)获取到被限制的应用

RequestType:Restrictions

效果描述: (1)全局被限制的应用,根据profile被限制的应用

(12)获取app 内部配置参数

RequestType:ManagedApplicationConfiguration

效果描述:可以获取到app 内配置到userdefault的内的参数

(13)设置app内参数

RequestType:Settings

效果描述:(1)在app的userdefault 设置参数

开发测试过程中,有些设备d窗显示无法安装ipa,此时需要解析一下adhoc证书打包出来的ipa是否包含目标设备的UDID,在此记录一下过程:

1、将 ipa 文件修改为 zip 文件,然后解压缩获得目标文件夹;

2、进入目标文件夹选中 app 文件,拷贝路径(command + option + C)

3、命令行进入刚刚拷贝的路径,eg:

运行:

就能获取ipa包中包含的所有UDID列表,对照目标设备比对一下就好。

配置

信息查询

管理

RequestType为DeviceLock

原文:Immediately locks the device If a passcode is present, that passcode will be required to unlock the device

译文:设备锁屏后,如果你的设备以前设置了锁屏密码,那么你的设备就会要求输入你以前的锁屏密码来解除屏幕锁。

RequestType为EraseDevice

原文:Immediately wipes the device memory and resets it to a “clean from factory” stateRequires connection to iTunes to restore from backup or configure as new

译文:擦拭设备的内存数据和重置为“恢复出厂”的状态,需要连接到iTunes备份或恢复配置新的。

RequestType为ClearPasscode,另外需要TokenUpdate时返回的UnlockToken数据

原文:If a passcode is present on the device, this command will clear that passcode If a passcode is required by other configuration controls, the user will be given a grace period in which to set a new passcode

译文:如果设备以前设置了锁屏密码,当发送此命令时会清除设备设置的密码。如果密码被其他配置控制需要,用户将可以在宽限期内设置一个新密码。

RequestType为SecurityInfo,另外需要查询的数组列表,例如:“HardwareEncryptionCaps”, “PasscodePresent”等

原文:Lists specified security-related settings for the device, including hardware encryption capabilities, and whether a passcode is present (and if so, whether it is compliant with configuration) If the passcode is present, the device must be unlocked for this command to execute

译文:列出指定的安全相关的设置装置,包括硬件加密功能,以及是否存在一个密码(如果是这样,是否符合配置)。如果密码是目前,装置必须解锁执行这个命令。

RequestType为InstalledApplicationList

原文:Lists all the applications currently installed on the device Includes the overall persistent storage used by the application, expressed in bytes, along with the application’s name, version, and bundle identifier Does not list applications installed via jailbreaking methods

译文:所有的应用程序目前安装在设备列表。包括应用程序所使用的总体持久性存储,表示字节,随着应用程序的名称,版本,和束标识符。没有列出应用程序安装通过破解方法。

RequestType为DeviceInformation

原文:Retrieves specified general information about the device, including MAC phone number, software version, model name and number, serial number

译文:检索指定的一般信息的装置,包括MAC的电话号码,软件版本,模型的名称和编号,编号。

RequestType为CertificateList

原文:Lists all certificates currently installed on the device

译文:列出所有目前在设备上安装证书。

RequestType为ProfileList

原文:Lists configuration profiles installed on the device Includes Common name, whether a remove passcode is required, whether removal is disallowed, unique identifiers, and other similar information

译文:安装在设备配置文件列表。包括普通的名字,是否删除密码是必需的,是否去除无效,唯一的标识符,和其他类似的信息。

Provisioning为ProvisioningProfileList

原文:Lists provisioning profiles installed on the device (similar to the Profile list)

译文:安装在设备列表配置配置文件(类似于配置文件列表)。

RequestType为RestrictionsList

原文:Lists restrictions currently in effect on the device For example, lists disabled applications,whether backup encryption is forced on, etc

译文:列出目前在设备上的限制的影响。例如,列表禁用应用程序,无论是备份加密是被迫的,等等。

RequestType为InstallProfile,另外需要Payload((data) IPCU mobileconfig file, base-64 encoded)

原文:Given a base-64 encoding of a mobileconfigprofile (as created by the IPCU or other tools), installs the profile on the device

译文:给定一个base64编码的mobileconfig描述文件(由IPCU或其他工具创建),安装在装置的配置。

RequestType为RemoveProfile

原文:Given a payload identifier (which is typically shown as a reverse-DNS identifier such as “comexamplecfgrestrictions”), removes the profile from the device

译文:给定一个载荷标识符(通常是作为一个反向DNS的标识符,如“comexamplecfgrestrictions”),删除从设备的配置文件。

RequestType为InstallProvisioningProfile,另外需要Payload((data) IPCU mobileprovision file, base-64 encoded)

原文:Given a base-64 encoding of a mobileprovisionprofile (as created by the IPCU or other tools), installs the profile on the device

译文:给定一个base64编码的mobileprovision文件(由IPCU或其他工具创建),安装在装置的配置。

RequestType为RemoveProvisioningProfile,另外还需要UUID((string) Provisioning profile UUID)

原文:This command removes the provisioning profile from the device, given the profile’s UUID

译文:该命令会删除配置文件从设备,给出了配置文件的UUID。

MessageType为Authenticate,会返回Topic和UDID

原文:This is a client command, sent by the client to initiate enrollment Can be used by the server to permit or deny enrollment based on the device’s UDID NOTE – Does not follow same format as server-to-client commands Has no CommandUUIDfield nor the Commanddict structure — all parameters are top-level items in the main property list dict

译文:这是一个客户端的命令,由客户端发送登记。可以使用的服务器以允许或拒绝基于设备的UDID登记。注意:不遵循相同的格式为服务器到客户端的命令。没有CommandUUID也不Command结构——所有的参数都在主属性列表指定顶级项目

MessageType为TokenUpdate,会返回PushMagic、Token、Topic、UDID、UnlockToken等数据。

原文:This is a client message, sent by the client during enrollment Provides the server with tokens used to contact device via APNS, as well as a key to unlock the device through the Clear Passcode command NOTE – Does not follow same format as server-to-client commands Has no CommandUUID field nor the Command dict structure — all parameters are top-level items in the main property list dict。

译文:这是一个客户端的消息,在登记过程中由客户端发送。提供服务器标记用于通过APNS接触装置,以及解锁装置通过一个关键清除密码命令。注意:不遵循相同的格式为服务器到客户端命令。没有CommandUUID也不Command结构——所有参数在主要的属性列表的顶级项目。

1、可以使用苹果掉签ios超级签名,ios超级签名不同于传统的苹果企业签名,iOS超级签名使用的技术机制和普通的企业签名不一样,甚至更为复杂。因此IOS超级签名的稳定性,比苹果企业签名好很多,具有一次安装全年不掉签的特性。

2、据了解ios超级签名稳定不掉签的原因有两点,一是复杂而独特的签名机制,二是使用的个人开发者账号。也就是说iOS超级签名使用的不是苹果企业开发者账号生成的证书,而是使用苹果的个人开发者账号,通过创建描述文件,并让用户安装。

3、而通过这个描述文件获取用户苹果设备的udid,再通过把获取的udid注册到某个个人开发者账号下,再生成签名用的描述文件给用户的ipa包进行签名,最后传到Server,使用itms-services的方式实现用户的下载,整个超级签名流程是比苹果签名更为复杂的,也更稳定。

1、扫描蒲公英分发平台二维码。

2、进入获取udid界面。

3、点击safari浏览器打开。

4、到达界面后点击获取UDID。

5、点击允许会出现下面的界面需要安装一个配置文件能够获取到UDID,点击安装即可获取到手机的UDID。

UDID不能被修改,但是它会变化。每个苹果手机都是有个序列号(UDID),这个序列号不会随着版本的升级,系统的回复而变化。

获取苹果手机UDID的 *** 作方法如下:

1、打开udid获取的网址,注意不能在qq或微信里打开

2、要用苹果自带的浏览器打开udid获取的网址

3、安装udid的证书

4、这里需要输入苹果手机的密码

5、安装证书后自动跳出udid,最后直接复制就可以获取该UDID了

6、复制后的udid可以发送或保存。如果不能解决问题,建议重复上述步骤再 *** 作一遍试试看。

以上就是关于iOS MDM详解(4)— 安装mobileconfig配置文件全部的内容,包括:iOS MDM详解(4)— 安装mobileconfig配置文件、ios mdm 资料总结(命令篇)、2021-11-30 快速验证ipa包中的UDID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9493875.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存