美文网首页
iOS--双向验证原理,证书验证原理,描述文件等

iOS--双向验证原理,证书验证原理,描述文件等

作者: OXHO | 来源:发表于2019-05-13 03:58 被阅读0次

相关设备:

1.Mac电脑,其中Mac电脑包含:

公钥--我们用公钥M表示,(M就表示Mac电脑,为了好区分,所以用公钥M表示)
私钥--公钥和私钥成对出现,私钥M表示

2.苹果服务器,其中服务器里面包含:

私钥A--(A就表示Apple,为了好区分,所以用私钥A表示)

3.iPhone手机,其中包含:

公钥A-- (与服务器私钥A成对)

重点:公钥M-私钥M成对;私钥A-公钥A成对;

公钥M和私钥M可以相互验证;
私钥A和公钥A可以相互验证;

具体操作步骤:

1-本地创建csr文件,通过csr文件申请证书,主要是包含了公钥M,其次还有一些信息文件,邮箱地址,常用名称等等;

(本地创建了csr文件以后,可以通过命令查看该文件信息:“$openssl asn1parse -i -in 文件名.certSigningRequest” )

2-提交到苹果服务器以后一个描述文件,描述文件包含以下内容:

a.设备ID;
b.appID;
c.权限文件;
d.证书文件;
其中d,证书文件包含以下内容:
a.公钥M;
b.公钥M的HASH值;
c.公钥M的签名信息(用私钥A签名的信息);

前往文件夹,可以查看电脑里面的描述文件:~/资源库/MobileDevice/Provisioning Profiles/


文件路径

cd到文件目录下,可以通过命令查看描述文件:$security cms -D -i 文件名.mobileprovision

3-Mac电脑安装证书文件,然后就可以对APP进行打包,打包的时候,就把证书文件,配置进了APP,APP其实就是一个文件夹,包含以下内容:

a.MachO 文件(一种可执行文件);
b.利用私钥M对MachO签名的文件;
c.描述文件--证书文件;

提示:P12文件,其实就是私钥M

4.可以将APP这个文件夹安装到iPhone手机上去,安装的时候进行以下验证:

1.首先验证文件夹里面的证书文件,利用手机里面的公钥A,对证书进行验证(证书包含公钥M签名,所以公钥A可以验证证),验证了证书是否被调包;
2.iPhone手机取出证书里面的公钥M,对app进行验证(因为app是用私钥M进行签名的);

这样的验证过程,验证了APP是否是苹果官方允许的应用,原因如下:
1.苹果允许你的行为,才会给你返回证书文件,给你电脑的公钥M配发证书;
2.有了这个证书,你才能打包APP,将APP安装到手机;
3.利用手机里面的公钥M,验证证书,就侧面的验证了安装行为是否非法;iPhone对app内容,并不做验证;

双向验证,其实,就是两对公私钥的验证!

这种模式,如果仅仅是这样,将有严重问题:APP可以任意安装到任何手机上;
所以,苹果公司又增加了多重限定:

1.限定设备(只能安装到注册过的手机上);
2.对APP进行限定,只能对某一个app进行签名;
3.还会针对性的进行推送,NFC等等进行限定;
苹果公司,把这一系列限定操作,统称为:授权文件(Entitlements文件),并将这个文件放在了一个叫做Provisioning Profile(描述文件)文件中;
描述文件是在appleDevelop网站创建的,(Xcode登陆appleID以后,它会代替网页自动创建),Xcode打包的时候,会打包进APP文件内;

相关文章

  • iOS--双向验证原理,证书验证原理,描述文件等

    相关设备: 1.Mac电脑,其中Mac电脑包含: 公钥--我们用公钥M表示,(M就表示Mac电脑,为了好区分,所以...

  • iOS-分类重写原类方法时,如何调用原类方法

    目录 原理原理验证一(表面验证)原理验证二 (使用 runtime)原理验证三(底层验证)如何调用原类方法 一 原...

  • HTTPS双向验证原理

    1、浏览器将自己支持的一套加密规则发送给网站。 2、网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证...

  • HTTPS实现原理

    参考自文章。 HTTPS实现原理 HTTPS分为证书验证和数据传输阶段: 证书验证阶段(非对称加密,公钥私钥) 1...

  • 苹果强制使用Https后前端需要的操作

    单向验证,不需要证书在本地 双向验证,需要证书放在本地 ps:找服务端要证书~

  • 苹果签名双向验证原理

    代码签名 代码签名是对可执行文件或者脚本进行数字签名,用来确认软件在签名后未被修改或损坏的措施。 简单的代码签名 ...

  • gRpc 相关

    CA证书自签单向验证Openssl命令 应用 grpc server_http CA证书自签双向验证Openssl...

  • https原理与证书验证

    https工作原理 浏览器验证 web端分两种情况,一是在地址栏输入https地址,这种情况浏览器会帮忙做证书的验...

  • APNs相关

    理解证书文件和描述文件 APNS原理和详解 SSL协议方式 APNs 各种证书之间的关系

  • HTTPS单双向认证及证书验证原理概述

    HTTPS 协议是由 HTTP 加上 TLS/SSL协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书...

网友评论

      本文标题:iOS--双向验证原理,证书验证原理,描述文件等

      本文链接:https://www.haomeiwen.com/subject/eudkaqtx.html