(四)创建开发者证书

作者: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

(二)参加 iOS 个人开发/企业开发计划

作者:kim

时间:Apr 26, 2015

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

 

 

1. 有了账号之后,还必须参加 Apple 的“个人开发计划”或者“企业开发计划”,才能进行真机测试,也才能在 AppStore 上线。

 

2. 登录并访问 https://developer.apple.com/programs/ 准备购买开发计划。

 

C17CBD23-B643-4B56-B865-D54CF74E482A

 

3. 点击 iOS Developer Program 下面的链接。

 

6E9F1EA6-F661-40EB-8607-46B75FD44E14

 

4. 咬咬牙花 $99 买下!

 

6C5910F5-0461-4266-A6D6-CE1A96DBEA05

 

5. 点击上面的 Continue 后,会要求使用一个已创建的 Apple ID(参考《创建开发者账号》一章),或者新建一个账号。

 

9313F316-3580-47DD-ABE6-B6B26E4AFA51

 

6. 我们使用已创建的账号,跳到选择“个人开发计划/企业开发计划”的选择页面。

 

F4F63C42-F5B4-4BE3-B3EF-28F2855BC643

 

7. 个人开发计划 Individual 类型:
1)个人账号只能注册一个开发者账号
2)AppStore 也只显示个人 ID
3)如果要多人一起开发,只能通过共享账号,或者共享私钥与证书。

 

8. 企业开发计划 Organization 类型:
1)允许多个开发者协作开发,可以设置多个开发者账号
2)账号分4级权限管理
3)AppStore 显示团队/公司名称
4)如果要进行多人团队开发,可以通过:
a)共享私钥与证书,这个跟 Individual 一样
b)注册新用户的证书 Certificate,通过 Team Provisioning Profile,或者授权给该用户证书相关的 Provisioning Profile 来进行。

 

9. 我们以个人开发计划(individual)为例。

 

E4E01D9A-9BFD-4470-9E04-BD051BE6C576

 

10. 购买的过程涉及个人信息,就不详细说了,还可以用支付宝付款,相当方便!完成后在 Member Center 的证书中心看到相应的链接!

 

DBD7A9E6-5A72-408B-BB23-DC93B2567CB3

 

 

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

(三)数字证书与数字签名

作者:kim

时间:Apr 11, 2015

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

 

 

一直对 对称加密、非对称加密、SSL、TLS、CA、根证书、信息指纹、数字签名、数字身份证、数字证书 等等知识处于一个模糊状态。
花了几天读了几十篇博文,再自己实践下,终于搞清了,很多以前不清楚的细节都补足。自己画了一张图,权当自学总结!
下一篇将会进入 iOS 证书的剖析 :p

 

One Picture to Explain Certificate Authority and Digital Certificate

One Picture to Explain Certificate Authority and Digital Certificate

 

 

Posted in Algorithm, Network Protocol, Security, Training | Tagged , , , , , , , , , , | Leave a comment

40 Powerful Shortcuts of Xcode 6.x

 

 

Transcript:
1. 40 Powerful Shortcuts of Xcode 6.x kimbs.cn
2. command + , • Account settings • Turn off the boring building sound • Code color • Indentations • etc.
3. option + click (file) • Open the file in assistant editor • We have to compare code very often!
4. command + enter • Show standard editor • But most of time we use it to close the assistant editor
5. click + click (file) • Open and edit in a separate window • Very useful if you have two or more screens
6. command + shift + t • Open a new window with current state • I generally use one for design and another for coding
7. command + n • Create new file(s) • The most commonly used
8. command + option + a • Add files to current project • We use it very often especially for those have many assets and images
9. command + o • Open a file • Open the UI designs is what I most commonly used
10. command + shift + o • Search and open quickly • I call it the “Xcode Spotlight”, the great tool for reference and learning
11. command + click (file) • Go quickly to the definition of the selection
12. option + click (file) • Open the quick short document
13. command + shift + s • Duplicate file • Fast copy and create another class
14. control + command + s • Create a snapshot • It helps to prevent small changes that break your current state
15. command + : • Show spelling and grammar • Useful for perfectionist
16. command + option + . • Refactor -> Rename , to rename a word in the project • I use it very often, but have to set it manually! (empty key by default)
17. control + command + space • Choose special characters • Sometimes we do need fun!
18. command + 1-8 • Switch navigators • Back to project navigator (Command + 1) is most commonly used
19. option + command + 0-6 • Utilities switching • The “trigger” (option + command + 0) is what we use everyday.
20. command + f • Find in file • You must be very familiar with it
21. option + command + f • Find and replace in file
22. command + shift + f • Find in project
23. command + option + shift + f • Do not use it in most of the time! • Usually we use Refactor Rename instead
24. control + command + <- / -> • Go forward or back in the editor • But I prefer to use two fingers swipe
25. command + L • Jump to line • It’s used in every kind of IDE!
26. esc • Show completions • We can also use “control + space”
27. control + i • Re-indent • Make the perfect indentation automatically
28. command + [ / ] • Shift left and shift right • Use them to move around the block
29. option + command + [ / ] • Move lines up or down • I use it to move the block up and down
30. command + / • Comment selection • (Un)comment the lines as we did on every IDE
31. option + command + <- / -> • Fold and unfold the blocks • I prefer to do this directly on the editor
32. shift + option + cmd + <- / -> • Fold / unfold methods and functions • They help me to handle the big class!
33. command + r • Build and run your project
34. command + b • Build your project • Sometimes we just want to build and see, without running
35. control + command + r • Run without building • Building is a pain especially for big project • Sometimes we just want to “see it” again
36. shift + command + k • Clean the project • We use it very often
37. command + y • Activate and deactivate the breakpoints • Those breakpoints are too small to click!
38. How about debug? • Use the debug panel directly!
39. shift + command + 0 • Documentation and API Reference • We should keep updating the docs and learning everyday!
40. shift + command + 1 • Show welcome to Xcode • It’s not just say “hello”! But to create or open the project
41. More editor tips • The Emacs Style: • control + f move forward • control + b back • control + p move up • control + n move down • control + a move to beginning of the line • control + e move to end of the line • control + k deletes from current position
42. – Philip Sideney “All is but lip-wisdom that wants experience.”
43. Now go and practise!

 

Cheer!

 

Posted in iOS, Training, Xcode | Tagged , | 1 Comment