我的工作我自己的滚动MDM服务,我试图从苹果公司提出的SCEP和MDM有效载荷为MDM协议文件结合起来。 我创建了C#.net我自己SCEP Web服务,我知道该设备能够得到有效的证书时,我只发送SCEP有效载荷。 然而,当我还包括MDM有效载荷通过IdentityCertificateUUID键指向SCEP有效载荷的UUID,我得到以下错误,“ 注册服务器没有提供有效的身份证明。”这个配置是用户后发送的一个选择安装初始注册配置(在第2阶段步骤1 本图)。
该设备没有出现,甚至使试图在连接到我的服务器,由于服务器端的日志我知道,它从来没有达到我的SCEP Web服务页面。 这似乎表明有什么东西不对我用签字有效载荷的证书。 我已经试过单独用我的SSL证书签署它(从预受信任的根证书颁发机构),我的客户MDM推证书(从我们的供应商证书链)和我的自签名的根证书颁发机构的证书(通过makecert.exe创建)在SCEP服务使用发出新的证书(即设备身份证明)。
我看从IPCU(iPhone配置实用程序)时创建与MDM和SCEP有效载荷都配置文件的输出,它不是一个有效的配置文件(我甚至已经尝试复制它几乎批发)。 然而,当我通过IPCU安装该配置文件不上来的错误,并开始SCEP注册过程没有问题。
旁注 - 利用已有的MDM厂商是不是一个不错的选择。
下面是我使用的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadContent</key>
<dict>
<key>Challenge</key>
<string>this is a challenge</string>
<key>Key Type</key>
<string>RSA</string>
<key>Key Usage</key>
<integer>5</integer>
<key>Keysize</key>
<integer>1024</integer>
<key>Name</key>
<string>mycompany</string>
<key>Retries</key>
<integer>3</integer>
<key>RetryDelay</key>
<integer>0</integer>
<key>Subject</key>
<array><array><array>
<string>CN</string>
<string>mycompany</string>
</array></array></array>
<key>URL</key>
<string>https://mysite.com/scep.aspx</string>
</dict>
<key>PayloadDescription</key>
<string>Configures SCEP</string>
<key>PayloadDisplayName</key>
<string>SCEP (mycompany)</string>
<key>PayloadIdentifier</key>
<string>com.mycompany.mdm.scep1</string>
<key>PayloadOrganization</key>
<string></string>
<key>PayloadType</key>
<string>com.apple.security.scep</string>
<key>PayloadUUID</key>
<string>57225d3d-0758-4d23-8093-e4d8c9bbd47c</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
<dict>
<key>AccessRights</key>
<integer>3</integer>
<key>CheckInURL</key>
<string>mysite.com/checkin.aspx</string>
<key>CheckOutWhenRemoved</key>
<false/>
<key>IdentityCertificateUUID</key>
<string>57225d3d-0758-4d23-8093-e4d8c9bbd47c</string>
<key>PayloadDescription</key>
<string>Configures MobileDeviceManagement.</string>
<key>PayloadIdentifier</key>
<string>com.mycompany.mdm.mdm2</string>
<key>PayloadOrganization</key>
<string></string>
<key>PayloadType</key>
<string>com.apple.mdm</string>
<key>PayloadUUID</key>
<string>ed0ae41d-1aa7-4721-9fe9-139c1072132c</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ServerURL</key>
<string>https://mysite.com/checkin.aspx</string>
<key>SignMessage</key>
<false/>
<key>Topic</key>
<string>com.apple.mgmt.mypushsubject</string>
<key>UseDevelopmentAPNS</key>
<true/>
</dict>
</array>
<key>PayloadDescription</key>
<string>Profile description.</string>
<key>PayloadDisplayName</key>
<string>Test Profile</string>
<key>PayloadIdentifier</key>
<string>com.mycompany.mdm</string>
<key>PayloadOrganization</key>
<string>mycompany</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>13321058-4037-478c-9b1e-ef6f810065cb</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>