.mobileconfig文件的签名

生成Apache专用的三个证书

双击【2331135_zgp.ink_chain.crt】可以看到它是个根证书,在mac上,双击它,导入到证书中心,然后再导出为pem格式,重命名为ca-bundle.pem

在mac上,用以下命令签名mobileconfig文件

openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer 2331135_zgp.ink_public.crt -inkey 2331135_zgp.ink.key -certfile ca-bundle.pem -outform der -nodetach

安装brew

执行以下命令即可安装brew最新版本(https://github.com/Homebrew/install)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装重签工具 fastlane -> sigh

brew install ruby
sudo gem install sigh

新建一个文件夹,把ipa文件和 embedded.mobileprovision (文件名必须是embedded.mobileprovision) 拷贝到里面

命令行定位到这个文件夹里面,执行以下命令

sigh resign

会列出目前所有证书的二进制表达,并要求你输入你选择的证书的二进制字符串,从列表中拷贝一个进去即可,回车后

成功重签ipa

再贴一段url代码

 var len = connectInfo.Request.Body.Length;
byte[] bs = new byte[len];
connectInfo.Request.Body.Read(bs, , bs.Length); System.Security.Cryptography.Pkcs.SignedCms cms = new System.Security.Cryptography.Pkcs.SignedCms();
cms.Decode(bs);
cms.CheckSignature(true);
string xml = System.Text.Encoding.UTF8.GetString(cms.ContentInfo.Content);
var xmldoc = new System.Xml.XmlDocument();
xmldoc.LoadXml(xml);
var node = xmldoc.SelectSingleNode("//dict"); string udid = null;
foreach ( System.Xml.XmlElement child in node.ChildNodes )
{
if(child.Name == "key" && child.InnerText == "UDID")
{
udid = child.NextSibling.InnerText;
break;
}
}
connectInfo.Response.StatusCode = ;
connectInfo.Response.Redirect(, "https://www.baidu.com?udid=" + udid);

签名mobileconfig 重签ipa的更多相关文章

  1. iOS重签

    由于渠道推广需要,可能需要多个包做备份推广,区别是icon.游戏名称.登录logo.bundleid.签名证书.支付Consumables不同,其他游戏包体完全相同. 反复修改多次文件提交Jenkin ...

  2. iOS 应用签名原理&重签名

    在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...

  3. .NET RSA解密、签名、验签

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Sec ...

  4. PHP SHA1withRSA加密生成签名及验签

    最近公司对接XX第三方支付平台的代付业务,由于对方公司只有JAVA的demo,所以只能根据文档自己整合PHP的签名加密,网上找过几个方法,踩到各种各样的坑,还好最后算是搞定了,话不多说,代码分享出来. ...

  5. 中行P1签名及验签

    分享中国银行快捷.NET P1签名和验签方法代码中ReturnValue为自定义类型请无视 #region 验证签名 /// <summary> /// 验证签名 /// </sum ...

  6. 几个例子理解对称加密与非对称加密、公钥与私钥、签名与验签、数字证书、HTTPS加密方式

    # 原创,转载请留言联系 为什么会出现这么多加密啊,公钥私钥啊,签名啊这些东西呢?说到底还是保证双方通信的安全性与完整性.例如小明发一封表白邮件给小红,他总不希望给别人看见吧.而各种各样的技术就是为了 ...

  7. erlang的RSA签名与验签

    1.RSA介绍 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对 其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥,而 ...

  8. Java & PHP RSA 互通密钥、签名、验签、加密、解密

    RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Le ...

  9. Delphi微信支付【支持MD5和HMAC-SHA256签名与验签】

    作者QQ:(648437169) 点击下载➨微信支付            微信支付api文档 [Delphi 微信支付]支持付款码支付.二维码支付.订单查询.申请退款.退款查询.撤销订单.关闭订单. ...

随机推荐

  1. BZOJ_1415_[Noi2005]聪聪和可可_概率DP+bfs

    BZOJ_1415_[Noi2005]聪聪和可可_概率DP+bfs Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2 ...

  2. linux内存管理之uboot第一步

    在进入讲解linux内存管理的kernel阶段以前,了解一下uboot阶段是如何准备好内存物理设备的,这是非常有意义的.通常进入到linux内核阶段之后,对内存芯片的物理特性寄存器访问是比较少的,强调 ...

  3. ConfigParser模块用法

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

  4. Pascal之计算小系统

    program Project16; {$APPTYPE CONSOLE} VAR n,i,k,score,b,a:integer; answer,c:real; ch:char; Begin rep ...

  5. Linux strace命令(转载)

    转载:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html 简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. ...

  6. JavaScript 入门案例

    四.  JavaScript 入门案例 在看本节之前,笔者建议您先看 JavaScript 基础篇  https://www.cnblogs.com/IT-LFP/p/10945884.html 1. ...

  7. Oracle - RMAN备份 之 incarnation的实验和小结

    对于RMAN恢复我一直都不是很明白,因为,老是搞不清楚不完全恢复该怎么进行,今天,通过这个实验即是对不完全恢复的实践,也是希望搞清楚incarnation到底是怎么工作的.很可惜,本人对Oracle的 ...

  8. 再谈spark部署搭建和企业级项目接轨的入门经验(博主推荐)

    进入我这篇博客的博友们,相信你们具备有一定的spark学习基础和实践了. 先给大家来梳理下.spark的运行模式和常用的standalone.yarn部署.这里不多赘述,自行点击去扩展. 1.Spar ...

  9. Spring需要的几个关键配置文件(SSM框架整合)

    打包下载 springmvc-servlet.xml <?xml version="1.0" encoding="UTF-8"?> <bean ...

  10. 多个文本框点击复制 zClip (ZeroClipboard)有关问题

    <script type="text/javascript" src="js/jquery.min.js"$amp;>amp;$lt;/script ...