我们需要的iOS
证书向谁提出申请呢?当然是某个CA(Certificate Authority)
了,苹果公司有如下两个CA
:
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的时候自动安装了。 如果发现它失效了,您需要自己到苹果公司官网下载,并进行安装。
你要向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
您上传了CertificateSigningRequest.certSigningRequest
文件后,Apple Worldwide Developer Relations Certification Authority
就给您签上他们的名,然后就给了您一个证书, 这个证书就是CER
文件。
您下载了这个证书,导入到login
这个KeyChain中。
不要通过双击导入,因为双击导入到了System
这个KeyChain中,而不是login
这个KeyChain中。
为什么一定要导入到login
这个KeyChain中呢?那是因为, 我们当初制作CSR
文件 的时候,生成的公钥、私钥对就保存在了login
这个KeyChain中了。 我们把被签名过的证书、公钥、私钥对放在一起,将来才能导出p12
文件。
通过security命令可以导入,示例:
security import xx.cer -k ~/Library/Keychains/login.keychain
当CER
证书安装到本地并与本机的私钥吻合之后。我们一般会给证书做个备份,这个备份就是个p12
文件。
这个p12
文件很好用,它不仅包含CER
证书的信息,还有私钥信息,即:p12
备份文件 =CER
文件 + 私钥。 所以有了这个p12
就再也不用担心证书丢失了。
在iOS
开发中,我们通常使用p12
文件的原因是由于一个苹果开发者账户最多只能申请3
个CER
证书。 如果我们的开发团队多于3
人,那么多余的人就没有CER
证书可用了。所以,我们需要使用p12
文件。