本文最后更新于 2024-04-03,文章内容可能已经过时。

近期我自己基于 AdguardHome 搭建了一套加密DNS服务来屏蔽一些国内APP的开屏广告

在我设置完成AdGuard的https之后导出mobileconfig描述文件安装到平板上发现是未签名的状态

去搜了一下发现可以使用域名的证书进行签名

教程开始

需要的东西

  1. SSL证书验证(跟https一样)使用Nginx或者Apache的格式都没问题

  2. 未签名的mobileconfig文件

  3. 如果你的是 Windows 系统你还需要安装Git 工具

域名证书可以在阿里云/腾讯云等云服务厂商免费购买

这里我们下载腾讯云的Apache,解压出来会得到四个文件

csr的文件是不需要的可以删掉然后

key的改成=server.key (你的私钥)

网站的SSL证书.crt的改成=server.crt (你的服务器SSL证书)

bundle.crt的改成=ca-bundle.crt (你的根证书链)

未签名的mobileconfig的改成=company.mobileconfig (你的描述文件)

把四个文件放Mac的一个目录内。

我这个电脑没有安装Git工具并且还没有安装科学上网工具我就上传到liunx的服务器上然后文件夹内使用以下命令

openssl smime -sign -in company.mobileconfig -out signed.mobileconfig -signer server.crt -inkey server.key -certfile ca-bundle.crt -outform der -nodetach

命令运行完之后,会在目录里面生成一个已签名的signed.mobileconfig。之后导入到苹果的设备大功告成。

已验证签名: