IOS mobileconfig签名验证

摘抄自:天狐博客

前言:非常感谢这位天狐博客的网友,其实他写的方法已经非常到位了,为了方便查找,我就写这篇文章供参考学习。

获取设备udid是实现超级签名的首要任务,也是其中重要的一环,下面介绍几种方法来对mobileconfig文件进行签名。

Safari获取设备udid需要安装.mobileconfig文件,

但是通常直接安装.mobileconfig文件后,会发现描述文件显示"未签名"或者“unsigned”等红色字样,所以接下来我们的主要工作就是让描述文件变成绿色的"已验证"字样。

方法一:导出苹果证书进行签名

1、从钥匙串(keychain)中导出证书

实用工具->钥匙串访问->选择要导出的证书,导出生成p12文件 InnovCertificates.p12

然后转换成 InnovCertificates.pem 文件

2、p12证书转pem格式方法:

p12在线转换pem SSL Converter - Convert SSL Certificates to different formats

(证书)cer.p12文件 转cer.pem文件

openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12

(私钥)key.p12文件转key.pem文件

openssl pkcs12 -nocerts -out key.pem -inkey.p12

3、下载 Apple Root Certificate  和 Apple Intermediatediate Certificate:

(对于本篇文章 .mobileconfig文件的验证我使用了苹果的以下两个证书.

Apple Root Certificate(苹果根证书)

Apple Application Integration Certificate (苹果应用集成证书 )

你也可以使用这些证书或者苹果提供的其他证书 地址: http://www.apple.com/certificateauthority/

下载的文件中包括证书(cer)和私钥(key)

(在命令行中读取证书,参考链接 info.ssl.com/article.aspx?id=12149)

4、签名和验证.mobileconfig文件

在Mac终端cd到该路径下,执行如下命令:

openssl smime -sign -in Example.mobileconfig -out SignedVerifyExample.mobileconfig -signer InnovCertificates.pem -certfile root.crt.pem -outform der -nodetach

结果就得到已经签名且验证的.mobileconfig文件。

方法二:向服务端索要https服务器证书相关的两个文件,后缀名为.crt和.key两个文件

1、通过在线openssl工具把.crt和.key合成为.pem文件 pem格式转化

2、将.crt  .key   .pem文件放在同一文件夹目录下

3、在Mac终端cd到该路径下,执行如下命令:

openssl rsa -in ybs.key -out ybsnopass.key

此时文件夹下,会多出一个ybsnopass.key文件,然后终端再执行命令:

openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer ybs.crt -inkey ybsnopass.key -certfile ybs_ssl.pem -outform der -nodetach

此时文件夹下会多出一个signed.mobileconfig,这便是我们签名后的.mobileconfig,将签名后的描述文件放到服务器,然后在safari中下载的描述文件的安装界面就会显示绿色的“已验证”。

方法三:脚本签名

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

1、签名.mobileconfig文件(AcrobatPro.mobileconfig为未签名的.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 xxxx@xxx.com"

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

或者终端执行命令:security find-identity -p codesigning -v

可获得所有的证书

方法四:利用系统自带命令签名(证书一定在钥匙串中是信任的)

特别推荐此方法,简单暴力

1、打开终端,执行命令:security find-identity -p codesigning -v

可查看所有证书

2、签名描述文件

终端执行命令:

/usr/bin/security cms -S -N "iPhone Distribution: Skyfox Network Technology Co., Ltd." -i /Users/jakey/Desktop/udid_unsigned.mobileconfig -o /Users/jakey/Desktop/udid_signed.mobileconfig

方法五:ruby脚本签名

ruby签名脚本

通过上述任何一个方法,都会得到一个已经签名且验证有“已验证”字样的.mobileconfig文件,如:


按照上述流程操作完成后得到一个有“尚未验证”红色字体的.mobileconfig文件可能原因是选择的签名证书已经过期或者失效,删除该证书重新添加证书再重新操作一遍即可,或者直接点击该红色字体查看具体原因

最后补充一点,这篇文章写的比较冲忙,纯属个人学习参考,需要了解更多超级签名的可以查看上一篇文章

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容