iOS证书
1.2、CA

我们需要的iOS证书向谁提出申请呢?当然是某个CA(Certificate Authority)了,苹果公司有如下两个CA

  • Apple Root Certificate Authority
  • Apple Worldwide Developer Relations Certification Authority

iOS开发者证书就是向Apple Worldwide Developer Relations Certification Authority申请。

Apple Worldwide Developer Relations Certification Authority的证书就是他们颁发给iOS开发者的证书的根证书。而Apple Worldwide Developer Relations Certification Authority的证书的根证书是Apple Root Certificate Authority的证书。

AppleWWDRCA.cer就是开发者证书的根证书。它在安装Xcode的时候自动安装了。 如果发现它失效了,您需要自己到苹果公司官网下载,并进行安装。

1.3、CSR文件

你要向Apple Worldwide Developer Relations Certification Authority申请被他们签名的证书,首先你必须要告诉他们一些你的相关信息。

你到底要告诉他们一些你的什么信息呢?它们制定了一个规范,叫做CSR(Certificate Signing Request),这是一个文件, 详细规定了这里面应该有哪些内容、格式是什么样子等。

既然CSR(Certificate Signing Request)是一个规范,那么肯定有工具可以生成它。在macOS中内置的软件KeyChain就能生成它。下面是生成步骤:

1、打开KeyChain

2、通过菜单Certificate Assistant -> Request a Certificate From a Certificate Authority...,打开如下界面:

3、输入您的邮箱,选中"Saved to disk",点击"Continue"按钮,出现如下界面:

4、这里是选择保存文件位置。选择好后点击"Save"按钮,出现如下界面:

5、点击"Done"按钮。完成。生成的文件名如果没有修改的话,默认是CertificateSigningRequest.certSigningRequest

1.4、CER文件
1.4.1、下载CER文件

您上传了CertificateSigningRequest.certSigningRequest文件后,Apple Worldwide Developer Relations Certification Authority就给您签上他们的名,然后就给了您一个证书, 这个证书就是CER文件。

1.4.2、将CER文件导入到本机的login这个KeyChain中

您下载了这个证书,导入到login这个KeyChain中。

不要通过双击导入,因为双击导入到了System这个KeyChain中,而不是login这个KeyChain中。

为什么一定要导入到login这个KeyChain中呢?那是因为, 我们当初制作CSR文件 的时候,生成的公钥、私钥对就保存在了login这个KeyChain中了。 我们把被签名过的证书、公钥、私钥对放在一起,将来才能导出p12文件。

通过security命令可以导入,示例:

security import xx.cer -k ~/Library/Keychains/login.keychain
1.5、p12文件

CER证书安装到本地并与本机的私钥吻合之后。我们一般会给证书做个备份,这个备份就是个p12文件。

这个p12文件很好用,它不仅包含CER证书的信息,还有私钥信息,即:p12备份文件 =CER文件 + 私钥。 所以有了这个p12就再也不用担心证书丢失了。

iOS开发中,我们通常使用p12文件的原因是由于一个苹果开发者账户最多只能申请3CER证书。 如果我们的开发团队多于3人,那么多余的人就没有CER证书可用了。所以,我们需要使用p12文件。