1. 创建 unsigned.mobileconfig 文件,保存文件名为unsigned.mobileconfig
<?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>ConsentText</key>
<dict>
<key>default</key>
<!-- 同意信息 -->
<string>同意信息</string>
</dict>
<key>PayloadContent</key>
<array>
<dict>
<key>FullScreen</key>
<true/>
<key>Icon</key>
<data>
<!-- APP图标是base64格式(宽高114px、144px也可以) -->
</data>
<key>IsRemovable</key>
<true/>
<key>Label</key>
<!-- APP名称 -->
<string>百度一下</string>
<key>PayloadDescription</key>
<string>Adds a Web Clip.</string>
<key>PayloadDisplayName</key>
<!-- APP名称需要修改 -->
<string>Web Clip (百度一下)</string>
<key>PayloadIdentifier</key>
<!-- 标识符 仅修改com.baidu.profile-->
<string>com.baidu.profile.webclip1</string>
<key>PayloadOrganization</key>
<!-- 描述文件名称下面副标题位置 -->
<string>baidu</string>
<key>PayloadType</key>
<string>com.apple.webClip.managed</string>
<key>PayloadUUID</key>
<string>6CE13D92-AD76-48F2-9813-41369A401CA0</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>URL</key>
<!-- 跳转URL -->
<string>https://www.baidu.com</string>
</dict>
</array>
<key>PayloadDescription</key>
<!-- 描述文件的描述信息 -->
<string>搜索引擎</string>
<key>PayloadDisplayName</key>
<!-- 描述文件的名称 -->
<string>百度</string>
<key>PayloadIdentifier</key>
<!-- 标识符 -->
<string>com.baidu.profile</string>
<key>PayloadOrganization</key>
<!-- 机构公司名称 -->
<string>baidu</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>BE2A2BFE-4489-457B-82DB-474D1BEDF0E5</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
注:注意修改参数等;APP图标是base64格式(宽高114px)
2. 对未签名的mobileconfig文件进行签名
1. 签名需要3个文件:
server.crt 服务器端用于签名的证书
server.key 服务器端用于签名的证书的秘钥
ca.crt 其他机构为服务器颁发的CA证书
然后去申请一个SSL域名证书,域名证书申请成功之后下载下来选Nginx方式会有两个文件(一个.key, 一个.pem)
打开.pem文件, 提取信息:
将前面的复制保存为 server.crt 文件;
-----BEGIN CERTIFICATE-----
*******
-----END CERTIFICATE-----
将后面的复制保存为 ca.crt 文件;
-----BEGIN CERTIFICATE-----
*******
-----END CERTIFICATE-----
2. 利用openssl签名
打开CMD命令行,到当前目录下执行
当前目录要有 server.crt server.key ca.crt unsigned.mobileconfig 四个文件
openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer server.crt -inkey server.key -certfile ca.crt -outform der -nodetach
执行成功后会生成签名后的描述文件 signed.mobileconfig
unsigned.mobileconfig 未签名的描述文件
signed.mobileconfig 签名后的描述文件
3. 下载安装签名后的描述文件
测试的话,可以用隔空投送到iPhone上在手机设置内搜索“描述文件”,进入描述文件,找到描述文件进行安装。安装完成,在桌面就会出现快捷图标
网站上下载:必须用Safari浏览器打开才可以,点下载按钮执行 location.href = './signed.mobileconfig' 即可自动弹出下载描述文件选项,下载完描述文件到系统设置里点安装描述文件!