iOS MDM详解(3) 您所在的位置:网站首页 苹果如何打开mobileconfig iOS MDM详解(3)

iOS MDM详解(3)

2023-10-07 14:12| 来源: 网络整理| 查看: 265

简介

配置描述文件是一个用于安装到设备的XML格式的文件,包含了相关的配置信息。

比如:

设备安全性策略和访问限制 VPN 配置信息 Wi-Fi 设置 密码策略设置 移动设备管理 邮件和日历帐户等

制作一个配置文件可以iPhone配置使用工具和手写XML文件两种方式。为了方便操作我用了前者(网上说这个已被苹果抛弃,好像不影响文件生成)。

###用iPhone配置使用工具生成配置文件 打开文件——新建配置文件,主要涉及使用到的配置如下:

Snip20170502_3.png

通用:设置配置文件的基本信息,其中标示符和APP ID类似,安全性表示是否可移除该描述文件默认总是允许删除、可选择永不:表示禁止删除,使用授权:表示需要密码验证。

限制:设置设备访问权限,比如是否允许安装应用、是否允许相机、iCloud等,按默认设置即可。

凭证:用于和MDM Server 认证的一个p12格式的证书文件(注意:这个p12 和苹果开发者中心的证书没有关系、真的没有关系,他们只是P12格式而已。这个是有Server提供的用于HTTPS通信相关的用于之间认证的一个文件(Server 生成的CA证书的秘钥文件),是https通信所需要的)。

移动设备管理:这一步配置尤为关键,设置如下。

Snip20170502_4.png

服务器URL:设备注册后以后每次连接的URL地址。 登记URL:首次设备注册的地址,包括认证和更新token操作。 主题:在上一篇证书制作中提到的 用户ID : com.apple.mgmt.External.*。 身份:在凭证中添加的证书。 移除时检查:当为TRUE,当用户删除设备上的配置文件时设备会向登记URL发送个消息表示配置文件要删除了,MDM Serve可以依此来检测设备是否还在监控中。 访问权限:按默认即可。 Apple 推送通知服务:选中表示使用的开发环境APNs,这里不要选中。

至此配置设置基本完成,保存、导出会提示给配置文件签名,选择无即可。

生成的完整的XML文件 PayloadContent PayloadDescription 配置访问限制 PayloadDisplayName 访问限制 PayloadIdentifier com.apple.applicationaccess.C6130962-2621-47FD-8E9C-8832BCE3C5B0 PayloadType com.apple.applicationaccess PayloadUUID C6130962-2621-47FD-8E9C-8832BCE3C5B0 PayloadVersion 1 allowActivityContinuation allowAddingGameCenterFriends allowAppCellularDataModification allowAppInstallation allowAppRemoval allowAssistant allowAssistantWhileLocked allowAutoCorrection allowAutomaticAppDownloads allowBluetoothModification allowBookstore allowBookstoreErotica allowCamera allowChat allowCloudBackup allowCloudDocumentSync allowCloudPhotoLibrary allowDefinitionLookup allowDeviceNameModification allowEnablingRestrictions allowEnterpriseAppTrust allowEnterpriseBookBackup allowEnterpriseBookMetadataSync allowEraseContentAndSettings allowExplicitContent allowFingerprintForUnlock allowFingerprintModification allowGameCenter allowGlobalBackgroundFetchWhenRoaming allowInAppPurchases allowKeyboardShortcuts allowManagedAppsCloudSync allowMultiplayerGaming allowMusicService allowNews allowNotificationsModification allowOpenFromManagedToUnmanaged allowOpenFromUnmanagedToManaged allowPairedWatch allowPassbookWhileLocked allowPasscodeModification allowPhotoStream allowPredictiveKeyboard allowRadioService allowRemoteScreenObservation allowSafari allowScreenShot allowSharedStream allowSpellCheck allowSpotlightInternetResults allowUIAppInstallation allowUIConfigurationProfileInstallation allowUntrustedTLSPrompt allowVideoConferencing allowVoiceDialing allowWallpaperModification allowiTunes forceAirDropUnmanaged forceAssistantProfanityFilter forceEncryptedBackup forceITunesStorePasswordEntry forceWatchWristDetection ratingApps 1000 ratingMovies 1000 ratingRegion us ratingTVShows 1000 safariAcceptCookies 2 safariAllowAutoFill safariAllowJavaScript safariAllowPopups safariForceFraudWarning PayloadDescription 配置密码设置 PayloadDisplayName 密码 PayloadIdentifier com.apple.mobiledevice.passwordpolicy.B52AEECB-63DD-4B05-AFB2-6B547038F8D7 PayloadType com.apple.mobiledevice.passwordpolicy PayloadUUID B52AEECB-63DD-4B05-AFB2-6B547038F8D7 PayloadVersion 1 allowSimple forcePIN requireAlphanumeric Password 123456 PayloadCertificateFileName out.p12 PayloadContent //证书内容base64编码的字符串 PayloadDescription 提供设备鉴定(证书或身份)。 PayloadDisplayName out.p12 PayloadIdentifier com.apple.security.pkcs12.ACACFDA4-64B4-46D5-A8BD-DB241775A394 PayloadOrganization Gener-Tech PayloadType com.apple.security.pkcs12 PayloadUUID ACACFDA4-64B4-46D5-A8BD-DB241775A394 PayloadVersion 1 AccessRights 8191 CheckInURL https://www..../checkin.do?deviceId=fc97f6b4524346a18f14d1a425986abb CheckOutWhenRemoved IdentityCertificateUUID ACACFDA4-64B4-46D5-A8BD-DB241775A394 PayloadDescription 配置“移动设备管理” PayloadDisplayName 移动设备管理 PayloadIdentifier com.apple.mdm.02D2C93A-3F6D-4E54-B15D-EECC1B7BD583 PayloadOrganization Gener-Tech PayloadType com.apple.mdm PayloadUUID 02D2C93A-3F6D-4E54-B15D-EECC1B7BD583 PayloadVersion 1 ServerURL https://www..../mdm/server.do?deviceId=fc97f6b4524346a18f14d1a425986abb SignMessage Topic com.apple.mgmt.External.* UseDevelopmentAPNS PayloadDescription Lock&Reset All Settings&Erase PayloadDisplayName Gener MDM Sever PayloadIdentifier net.myfleet.mdm PayloadOrganization Gener-Tech PayloadRemovalDisallowed PayloadType Configuration PayloadUUID 984CE2FF-6BE1-49AE-A3EF-43B0B0EC9A11 PayloadVersion 1

我们可以直接修改此XML文件,据此Configuration Profile Reference 可添加其他所需的字段。你也可以在此基础上修改适合为自己的(估计很容易遗漏或出错),我还是喜欢在iPhone配置使用工具中操作比较方便。

给生成的配置文件签名

以上生成的配置文件其实可以直接安装到设备上,如果安装成功后会有一个红色的提示‘未签名’如下。

Snip20170508_1.png

签名要经历两个操作,一、MDM Sever端签名。二、用苹果颁发的证书签名。

MDM Sever签名

需要以下证书文件:

unsigned.mobileconfig 原始的未签过名的配置文件 server.crt 服务器端用于签名的证书 server.key 服务器端用于签名的证书的秘钥 cert-chain.crt 其他机构为服务器颁发的CA证书 signed.mobileconfig will be your signed configuration profile

可以再终端中执行:openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer server.crt -inkey server.key -certfile cert-chain.crt -outform der -nodetach

(以上是Java后台签名的操作过程,我没有验证,在此作为一个操作步骤总结放在这里)。

我猜测MDM Sever的签名只是为了和客户端进行下认证和对描述文件的加密过程,只是让这两个之间相互认知对方,和iOS系统是否承认无关。所以以上操作之后还会提示‘未签名’。(实际测试中这个操作可以省略)。

#####苹果证书相关的签名 以下操作引自 天狐博客,文章地址www.skyfox.org/ios-mobilec…

这个操作有几种方法可供选择,这里我使用了脚本签名。

借助于强大的github,找到了一个python脚本进行签名

地址:github.com/nmcspadden/…

1.签名一个mobileconfig

profile_signer.py与 mobileconfig 放在同一目录,终端进入目录执行

./profile_signer.py -n "3rd Party Mac Developer Application" sign AcrobatPro.mobileconfig AcrobatProSigned.mobileconfig 2.加密一个mobileconfig

./profile_signer.py -n "3rd Party Mac Developer Application" encrypt AcrobatPro.mobileconfig AcrobatProEnc.mobileconfig 3.签名并且加密一个mobileconfig

./profile_signer.py -n "3rd Party Mac Developer Application" both AcrobatPro.mobileconfig AcrobatProBoth.mobileconfig "3rd Party Mac Developer Application"为你的证书在钥匙串中的全名,选择证书=>显示简介=>复制常用名称加上引号即可,比如

"iPhone Developer: jakey.shao [email protected]"

"iPhone Distribution: Skyfox Network Technology Co., Ltd."

66911171-EE9C-4DB7-BFCE-6564CC1B4E1A如果能正确读取到证书,会提示允许访问钥匙串,点击允许即可!

最终安装提示已验证啦。

Snip20170508_2.png

至此得到mobileconfig配置文件,交由MDM Sever供设备下载。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有