zoukankan      html  css  js  c++  java
  • Safari获取UDID需要安装.mobileconfig文件,

    Safari获取UDID需要安装.mobileconfig文件,
    但是,我们在安装了.mobileconfig后,返现配置描述文件打 开显示“unsigned” 或者“尚未签名”这样的情况,所以接下来的工作就是让我们的.mobileconfig文件看起来更加安全一些。

    .mobileconfig签名网络上大多都是使用ssl证书进行签名,可以参考

    http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html

    本文主要讲,使用苹果开发者证书进行签名达到目的,本文两种方法,一种是刀耕火种的一步步操作,一种使用脚本签名

    一.导出苹果证书进行签名

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

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

    然后转换成 InnovCertificates.pem 文件

    2. p12换成pem格式方法

    p12在线转换pem   https://www.sslshopper.com/ssl-converter.html

    (证书)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 Intermediate 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文件

    上边所有文件准备号后,运行命令行工具,运行以下命令

    结果就是签名并且验证后的 .mobileconfig文件

    二.脚本签名

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

    地址:https://github.com/nmcspadden/ProfileSigner

    1.签名一个mobileconfig

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

    2.加密一个mobileconfig

    3.签名并且加密一个mobileconfig

    "3rd Party Mac Developer Application "为你的证书在钥匙串中的全名,选择证书,显示简介,复制常用名称即可,比如

    iPhone Developer: jakey.shao xxxx@xxx.com (W26TLNwW63)

    iPhone Distribution: XXX Network Technology Co., Ltd. (L5T8PFT6T5)

    三.Safari安装

    发现未签名变成了已签名,红色变成了绿色啦.安装的时候没有警告啦...茉莉花香啊!!!

    传送门 

    参考文章&英文原文:

    http://stackoverflow.com/questions/28355902/ios-mobileconfig-file-still-not-verified-but-close-i-see-certification

     

    转载请注明:天狐博客 » 为iOS的mobileconfig文件进行签名

  • 相关阅读:
    MYSQL存储引擎
    微信公众号自定义菜单
    TCP 三次握手与四次挥手
    微信扫码关注公众号并登录网站
    redis scan命令使用
    [转]Maven多模块结构下版本管理的正确姿势-revision
    线程间的协作wait,notify,sleep,yield,join
    GIT 撤销操作
    Kafka学习理解-listeners配置
    Kafka 简介梳理
  • 原文地址:https://www.cnblogs.com/zengyanzhi/p/5583429.html
Copyright © 2011-2022 走看看