iOS开发者证书-详解/生成/使用 (2)

发送者先对要发送的"数据"计算一个哈希值, 再用自己的私钥对这个哈希值加密生成一 个"签名(值)", 同时发送者要拥有一个向CA申请得到的"数字证书"(记住, 其记录有公 钥), 最后发送者把"数据", "签名(值)"和"数字证书"一起发送给接收者.

验证签名:

接收者接收到发来的"数据", "签名(值)"和"数字证书"后, 会作一系列验证来判断这一数 字签名是否有效:

打开并验证"数字证书"的有效性;

计算"数据"的哈希值H1, 用"数字证书"记录的公钥对"签名(值)"进行解密得到值H2, 如 果H1==H2, 则该"数字签名"有效.

aaa

Xcode代码签名相关 Keychain

MAC下用于存储和管理密钥等私密信息的工具.

Identifiers / Bundle ID / App ID

这是应用的唯一标识.

Device UUID

这是设备的唯一标识.

Provisioning Profiles

这就是我们最后要生成的 Profiles, 它记录了 App ID, UUID 和其所信任的证书.

当Xcode要把一个应用部署到真机上时, 会作相应检验:

Keychain中是否有相匹配的有效证书? 参考\'如何验证数字证书的有效性?\'

Profiles是否有效? 参考\'数字签名原理\'

要部署的App的App ID是否与Profiles记录的App ID相匹配?

UUID是否相匹配?

只有在所有检验都通过了, 才能部署到真机上.

Start 生成密钥

aaa

aaa

填上Email和Name, 并选择"Saved to disk".

最后在"keys"下生成一对新的密钥, 为了以后分辨方便, 最好对它重新命名, 双击可以重 命名. 同时也会生成一个CRS文件.

aaa

安装根证书

这个证书叫做 Worldwide Developer Relations Certificate Authority, 通过这个链接 可以下载: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer, 一般下载下来的文件名为: AppleWWDRCA.cer.

该证书一般由 Xcode 自动安装.

向Apple(CA)申请开发者证书

登陆苹果开发者中心, 到 Certificates, Identifiers & Profiles | iOS Apps | Certificates | Development 下, 新增一个Certificates:

aaa

点下一步会出现, 要求你先生成一个CRS文件, 这就是我们在"生成密钥"时做的:

aaa

直接下一步, 并把刚才生成的CRS文件上传, 最后提交生成证书. 把它下载下来, 双击, 其会自动添加到Keychains中.

aaa

aaa

创建 App ID

在Identifiers下创建一个新的App ID.

把设置的UUID加入Devices注册列表

在Devices下添加.

生成Profiles

在 Certificates, Identifiers & Profiles | iOS Apps | Provisioning Profiles | Development 下, 点击添加一个新的Profiles.

到"选择证书"页面时, 有一点要注意, 最好只选上刚刚生成的证书, 不要选择所有. 因为 "选择所有"在Keychain中已有别的证书下, 容易出现各种奇葩问题, 后面会有详细说明.

aaa

最后, 把它下载下来, 双击添加到Xcode中.

aaa

配置到Xcode

aaa

至此, 一切OK!

可能遇到的错

如果你按上面的执行下来, 最后一编译应用发现还是不行, 报类似这种错,

aaa

在XcodeOrganizer中也会显示出错:

aaa

这错一般是由于证书不匹配, 要检查:

保证生成Profile时, 选择且只选择了一个证书;

保证Keyschain里没有重复的证书.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzpdd.html