(四)创建开发者证书

作者:kim

时间:Apr 26, 2015

版权:非商用,自由转载,请保留原文地址

 

 

1. 访问 https://developer.apple.com/membercenter/ ,点击 “Certificates, Identifiers & Profiles” ,访问证书管理界面。

 

EA0CB25F-B614-424E-999D-7C98549DA26E

 

2. 首先选择 Certificates ,准备生成证书。

 

620D2086-144C-4EEA-A5D8-2411AC909CB5

 

3. 去到 Certificates -> All 页面,我们看到介绍了2种生成证书的方法,第一种是用 Xcode 自动为你创建证书,第二种是通过网站由用户手动生成。我们选择第二种方法,这样更有利于我们理解整个过程。

 

048F383E-D282-4BFD-8526-69FF7274299F

 

4. 我们点击 “Certificate Signing Request” ,开始选择证书的类型,我们选择第一个 “iOS App Development”,即 iOS 应用开发证书。其它还有 APNs 独立证书、AppStore 上线证书、Apple Pay 证书等等。

 

A0D52330-E4F1-44BA-B62A-AE5E97075C42

 

5. 在这个页面所有证书类型的下面,我们还会见到中间证书(Intermediate Certificates)的提示,提供用户下载 “AppleWWDRCA.cer” 的链接。
实际上这个文件就是 Apple 的全球开发者根证书(Apple Root Certificate)。
对,就是公钥,意义等同 CA 的根证书!通常是 Xcode 自己安装好的,当然也可以自己下载,并手动安装到 Mac 上面。

 

8AA35427-E169-4BD8-906D-E122D60BAE8E

 

6. 为了满足好奇心,我们手动安装下吧,点击 “Worldwide Developer Relations Certificate Authority” 就会下载到 “AppleWWDRCA.cer” 这个文件,双击就安装到了 Keychain 里面。

 

61F298CC-099C-4EC5-8AB0-71821BEF9BB1

 

7. 选择好证书类型后,点击 continue 进入请求证书页面,这里提示你如何在 Mac 上生成 Certificate Signing Request(CSR)文件。CSR文件简单地说就是你的公钥/私钥对!
注意,CSR 文件尽量每个证书都制作一次,并且用不同名称区分开,这样增加安全性!

 

823B8335-F6BE-4DD9-A7F9-8B0027D8E79C

 

8. 选择 钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书 ,“证书颁发机构” 指的就是 Apple ,简单地说就是,你要把你的 CSR 文件(公钥)上传到 Apple ,让它用私钥给你加密签发证书!

 

B31048CB-127B-4AFB-84FA-8A54DF2490C4

 

9. “用户电子邮件”那里必须填写你的用户账号邮箱地址,“常用名称”那里随便填个喜欢的。选择把证书保存到磁盘,点击继续。

 

EF7F6E83-DAFF-4A72-AA7C-F905B3E81D1C

 

10. 到达密钥生成界面,一般保持默认选项就行了,即2048位的 RSA 算法生成公钥/私钥对!

 

EC2783B3-4D4D-463D-ADBB-960394ADEB11

 

11. 点击继续,生成 “CertificateSigningRequest.certSigningRequest” 文件。简单地说,这个文件就是你的“数字签名+公钥”,用来上传给 Apple ,然后 Apple 用其私钥加密,这样就成功签发合格的证书了!

 

F52481AC-D30B-4207-B37D-FB6ABA1864E1

 

这个过程相当于使用以下 openssl 命令生成公钥/私钥对。
$ openssl genrsa -out private.key 2048
$ openssl req -new -sha256 -key private.key -out CertificateSigningRequest.certSigningRequest

 

12. 这时我们可以在 Keychain 看到公钥/私钥对。

 

4E915ACF-AE35-459C-82B9-2431D41FE8A3

 

13. 回到浏览器的 “Add iOS Certificate” 界面,点击 continue 来到生成证书界面,点击 “Choose File” 把刚才保存下来的 “CertificateSigningRequest.certSigningRequest” 上传到苹果。

 

AA503823-03B8-4647-8E5E-C51086905A1C

 

14. 点击 Generate ,证书就被 Apple 签发了。

 

25B59D70-D8B5-46B3-AF15-55D296329E9B

 

15. 点击 Download 保存好开发者证书,我们可以看到,证书是以标准的 X.509 格式来生成的!

 

8ED2F1A5-8B3D-4C1E-A93D-7DBDF7854214

 

16. 双击证书,安装到 Keychain 里面。

 

78D8FAEF-DAC8-4986-BB5C-97AC6E18BE89

 

17. 然后在 Keychain 里面查看下自己的证书吧。

 

E94B5D07-7BDF-4471-9CFE-E2622CE49B7E

 

18. 现在回到 “Certificates, Identifiers & Profiles” ,能看到你的证书记录显示在 Certificates 列表中!

 

38167318-2133-4E13-BE33-A67D58E5DE82

 

19. 在实际中,开发证书 ios_development.cer 被苹果根证书 AppleWWDRCA.cer 解密,得出真实的公钥 public key 出来!

 

20. iOS 设备以及 Mac 系统,都使用 CA 证书(AppleWWDRCA.cer)来判断 Provisioning Profile 中的开发证书的合法性。
1)若用 AppleWWDRCA.cer 公钥能成功解密出证书,并得到用户真实公钥(Public Key)和内容摘要(Signature),则证明此证书确实是 AppleWWDRCA 所签发,即证书的可信性!
2)对证书本身使用哈希算法计算摘要(Signature),若与上一步得到的摘要一致,则证明此证书确实未被篡改过,及证书的完整性!

 

 

Posted in iOS, Training | Tagged , , , , , , , | Leave a comment