蘋果開發(fā)者證書詳解

轉(zhuǎn)自千葉飛雪的文章:http://www.reibang.com/p/8eff18ad88b3

對于iOS開發(fā)者來說变汪,apple開發(fā)者賬號肯定不會陌生。在開發(fā)中我們離不開它哄啄。下面為大家分享一下關(guān)于iOS開發(fā)中所用的證書相關(guān)知識。
首先得描述一下各個(gè)證書的定位,作用烹看,這樣在制作的時(shí)候心中有譜,對整個(gè)流程的把握也會準(zhǔn)確一些洛史;
第一部分:成員介紹
1.Certification(證書)
證書是對電腦開發(fā)資格的認(rèn)證惯殊,每個(gè)開發(fā)者帳號有一套,分為兩種:
1)Developer Certification(開發(fā)證書)
安裝在電腦上提供權(quán)限:開發(fā)人員通過設(shè)備進(jìn)行真機(jī)測試也殖。
可以生成副本供多臺電腦安裝土思;
2)Distribution Certification(發(fā)布證書)
安裝在電腦上提供發(fā)布iOS程序的權(quán)限:開發(fā)人員可以制做測試版和發(fā)布版的程序。不可生成副本忆嗜,僅有配置該證書的電腦才可使用己儒;
2.Provisioning Profile(授權(quán)文件)
授權(quán)文件是對設(shè)備如iPod Touch、iPad霎褐、iPhone的授權(quán)址愿,文件內(nèi)記錄的是設(shè)備的UDID和程序的App ID,即:使被授權(quán)的設(shè)備可以安裝或調(diào)試Bundle identifier與授權(quán)文件中記錄的App ID對應(yīng)的程序冻璃。
開發(fā)者帳號在創(chuàng)建授權(quán)文件時(shí)候會選擇App ID响谓,(開發(fā)者帳號下App ID中添加损合,單選)和UDID(開發(fā)者帳號下Devices中添加最多100個(gè),多選)娘纷。
授權(quán)文件分為兩種嫁审,對應(yīng)相應(yīng)的證書使用:
1)Developer Provisioning Profile(開發(fā)授權(quán)文件)
在裝有開發(fā)證書或副本的電腦上使用,開發(fā)人員選擇該授權(quán)文件通過電腦將程序安裝到授權(quán)文件記錄的設(shè)備中赖晶,即可進(jìn)行真機(jī)測試律适。
注意:確保電腦有權(quán)限真機(jī)調(diào)試,即安裝了開發(fā)證書或副本遏插;在開發(fā)工具中程序的Bundle identifier和選中使用的授權(quán)文件的App ID要一致捂贿;連接調(diào)試的設(shè)備的UDID在選中的授權(quán)文件中有記錄。
2)Distribution Provisioning Profile(發(fā)布授權(quán)文件)
在裝有發(fā)布證書的電腦上(即配置證書的電腦胳嘲,只有一臺)制做測試版和發(fā)布版的程序厂僧。
發(fā)布版就是發(fā)布到App Store上的程序文件,開發(fā)者帳號創(chuàng)建授權(quán)文件時(shí)選擇store選項(xiàng)了牛,選擇App ID颜屠,無需選擇UDID;
測試版就是在發(fā)布之前交給測試人員可同步到設(shè)備上的程序文件鹰祸,開發(fā)者帳號創(chuàng)建授權(quán)文件時(shí)選擇AdHoc甫窟,選擇App ID和UDID;只有選中的UDID對應(yīng)的設(shè)備才可能安裝上通過該授權(quán)文件制做的程序蛙婴。

  1. Keychain(開發(fā)密鑰)
    安裝證書成功的情況下證書下都會生成Keychain粗井,上面提到的證書副本(導(dǎo)出證書重新命名)就是通過配置證書的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他機(jī)子上,讓其他機(jī)子得到證書對應(yīng)的權(quán)限敬锐。Developer Certification就可以制做副本Keychain分發(fā)到其他電腦上安裝背传,使其可以進(jìn)行真機(jī)測試。
    注意:Distribution Certification只有配置證書的電腦才可使用台夺,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上径玖,其他電腦也不可能具有證書的權(quán)限。
    平常我們的制作流程一般都是先利用開發(fā)者帳號登陸開發(fā)者中心颤介,創(chuàng)建開發(fā)者證書梳星,AppID,在AppID中開通推送服務(wù),在開通推送服務(wù)的選項(xiàng)下面創(chuàng)建推送證書(服務(wù)器端的推送證書見下文)滚朵,之后在Provisioning Profile文件中綁定所有的證書id,添加調(diào)試真機(jī)等冤灾;
    具體操作流程如下:
    第一步:申請“開發(fā)證書”
    登錄,登錄成功后如下圖所示


找到證書板塊辕近,點(diǎn)擊進(jìn)入



點(diǎn)進(jìn)證書韵吨,會顯示如下界面,點(diǎn)擊右上角的加號



會出現(xiàn)以下界面移宅,該操作重復(fù)兩次归粉,分別創(chuàng)建開發(fā)測試證書和發(fā)布證書椿疗,開發(fā)測試證書用于真機(jī)調(diào)試,發(fā)布證書用于提交到appStore,我們以開發(fā)測試證書為例糠悼,選擇第一個(gè)紅框中的內(nèi)容届榄;

然后下一步,會提示創(chuàng)建CSR文件倔喂,也就是證書簽名請求文件铝条,會有很詳細(xì)的操作說明,如果英文不太好席噩,可以參考下圖班缰;


(1) 點(diǎn)擊鑰匙圖標(biāo)



(2) 在菜單欄中依次選擇:鑰匙串訪問?偏好設(shè)置?證書選項(xiàng)卡,下面兩項(xiàng)全部選關(guān)閉



(3) 生成證書請求:鑰匙串訪問?證書助理?從證書頒發(fā)機(jī)構(gòu)請求證書

填寫開發(fā)賬號郵件和常用名稱悼枢,勾選“存儲到磁盤”
保存后的名稱應(yīng)該為:CertificateSigningRequest.certSigningRequest



保存到磁盤后在你的鑰匙串訪問窗口應(yīng)該會出兩個(gè)密鑰鲁捏,一個(gè)公鑰密鑰,一個(gè)專用密鑰萧芙,紅色部分就是你在上面輸入的常用名


備注:CSR文件盡量每個(gè)證書都制作一次,將常用名稱區(qū)分開來假丧,因?yàn)樵摮S妹Q是證書中的密鑰的名字双揪;之后在開發(fā)者中心將該CSR文件提交;


提交上去后就會生成一個(gè)cer證書包帚,如圖所示渔期,有效期為一年;


利用同樣的方法配置一下Distribution發(fā)布證書渴邦,下載保存疯趟,雙擊安裝;在鑰題串登陸證書中可以查看谋梭,其中專用密鑰的名字即為CSR請求文件中的常用名稱信峻;
如果是申請推送證書,則會關(guān)聯(lián)一個(gè)App ID


第二步:注冊 App ID
選擇 “Identifiers”的 “App IDs”瓮床,點(diǎn)擊“+”

出現(xiàn)以下界面:
App ID Description 是一個(gè)App ID的描述盹舞,就是一個(gè)名字,這個(gè)名字可以隨便取
App ID Prefix 蘋果已經(jīng)幫我們填了隘庄,不需要我們填踢步,可以看出,它是一個(gè)團(tuán)隊(duì)的ID
填寫bundle ID:


服務(wù)中文翻譯


最后會有一個(gè)詳細(xì)的內(nèi)容列表丑掺,對應(yīng)無誤后获印,提交完成


第三步:申請?jiān)O(shè)備
如圖,點(diǎn)擊“+”街州,一個(gè)99美元賬號只能申請100個(gè)設(shè)備兼丰。

填寫自己測試設(shè)備的名字和UDID玻孟,UDID在Xcode中可以查看


查看UDID
打開Xcode



填好 name 和 UDID后,點(diǎn)擊continue 就可以看到如下界面地粪,點(diǎn)擊“Register”就可以在蘋果上登記了取募。


第四步:授權(quán)文件申請(Provisioning Profile)
選擇授權(quán)文件類型,下面羅列了iOS常的授權(quán)文件類型


選擇我們剛剛生成的 App ID,選好后蟆技,點(diǎn)擊“Continue”


這里選擇一個(gè)開發(fā)證書玩敏,有兩點(diǎn)要注意:
這個(gè)證書是我們剛剛自己在本機(jī)(當(dāng)前電腦)與蘋果開發(fā)者網(wǎng)站生成的 開發(fā)證書 “Development certificate”
如果不是剛生成的,這個(gè)證書必須在本地的mac的鑰匙串中存在(帶密鑰的證書质礼,不帶密鑰的依然無效)


如果不想自己在重新生成證書旺聚,用別人生成的證書,可以從別人的電腦中導(dǎo)出p12文件
選好證書以后眶蕉,點(diǎn)擊“Continue”


選擇設(shè)備砰粹,設(shè)備可以選擇全部設(shè)備,也可以按需選擇你需要的設(shè)備:


這里給我們的描述文件取一個(gè)名字造挽,這個(gè)名字在以后的xcode中是看得到的碱璃,所以可以取一個(gè)好辨認(rèn)的名字。取好名字后饭入,選擇“Continue”生成描述文件嵌器。



生成好描述文件后,選擇“Download”,雙擊進(jìn)行安裝
關(guān)于.p12證書
為什么要導(dǎo)出p12
當(dāng)我們用大于三個(gè)mac設(shè)備開發(fā)應(yīng)用
時(shí)谐丢,想要申請新的證書爽航,如果在我們的證書里,包含了3個(gè)發(fā)布證書乾忱,2個(gè)開發(fā)證書讥珍,可以發(fā)現(xiàn)再也申請不了開發(fā)證書和發(fā)布證書了(一般在我們的證書界面中應(yīng)該
只有一個(gè)開發(fā)證書,一個(gè)發(fā)布證書窄瘟,沒必要生成那么多的證書衷佃,證書一般在過期之后才會重新添加。)
如圖:


這時(shí)候寞肖,再點(diǎn)擊“+”時(shí)纲酗,就會發(fā)現(xiàn)點(diǎn)擊不了開發(fā)和發(fā)布證書,也就是添加不了開發(fā)證書和發(fā)布證書了:


有兩個(gè)解決不能添加證書的方法:
第一種方法是將以前的證書“revoke”掉新蟆,如圖:


然后重新生成一個(gè)新的證書觅赊。
這種方法是可以的,但是會造成相應(yīng)的Provisioning Profiles失效琼稻,這個(gè)可大可小吮螺。如果只有你一個(gè)人則問題不大,如果是一個(gè)團(tuán)隊(duì)大家都在用,你把這個(gè)證書刪除了鸠补,會導(dǎo)致別人的描述文件失效萝风,這意味著別人不能發(fā)布應(yīng)用了(還可以開發(fā)),這可是大問題紫岩,****所以不提倡這種做法****规惰。
第二種方法是生成p12文件:
我們的每一個(gè)證書都可以生成一個(gè).p12文件,這個(gè)文件是一個(gè)加密的文件泉蝌,只要知道其密碼歇万,就可以供給所有的mac設(shè)備使用,使設(shè)備不需要在蘋果開發(fā)者網(wǎng)站重新申請開發(fā)和發(fā)布證書勋陪,就能使用(強(qiáng)烈推薦贪磺,目前基本上都是這樣用)。
注意:一般.p12文件是給與別人使用的诅愚,本機(jī)必須已經(jīng)有一個(gè)帶秘鑰的證書才可以生成.p12文件寒锚,如圖:


打開鑰匙串,選擇我們需要的證書违孝,右擊刹前,選擇“導(dǎo)出“iPhone Distribition:```”:


為.p12文件填一個(gè)名字,點(diǎn)擊存儲:


填一個(gè)“密碼”雌桑,“驗(yàn)證”和密碼相同:


點(diǎn)擊好腮郊,在桌面上就形成了一個(gè).p12文件了:


在別人的電腦上要成功安裝,必須具備兩個(gè)文件:
該證書導(dǎo)出的“.p12”文件筹燕。
蘋果開發(fā)者中的與“證書”對應(yīng)的“描述文件”
如果需要用于開發(fā)的,那么需要這兩個(gè)文件:
.p12文件本身就是一個(gè)加密的證書衅鹿,所以用這兩個(gè)文件就可以讓其他mac設(shè)備使用了:


拿到這兩個(gè)文件后撒踪,依次雙擊“證書”,“.p12“文件(需要輸入密碼大渤,密碼就是當(dāng)時(shí)生成.p12時(shí)設(shè)定的密碼制妄,),作用是加入鑰匙串中泵三,使我們的電腦具備開發(fā)的證明耕捞,”描述文件“(作用是置于xcode中,讓xcode知道我們開發(fā)的合法性)烫幕,添加完后就可以使用了俺抽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市较曼,隨后出現(xiàn)的幾起案子磷斧,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弛饭,死亡現(xiàn)場離奇詭異冕末,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)侣颂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門档桃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人憔晒,你說我怎么就攤上這事藻肄。” “怎么了丛晌?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵仅炊,是天一觀的道長。 經(jīng)常有香客問我澎蛛,道長抚垄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任谋逻,我火速辦了婚禮呆馁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毁兆。我一直安慰自己浙滤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布气堕。 她就那樣靜靜地躺著纺腊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茎芭。 梳的紋絲不亂的頭發(fā)上揖膜,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音梅桩,去河邊找鬼壹粟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宿百,可吹牛的內(nèi)容都是我干的趁仙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼垦页,長吁一口氣:“原來是場噩夢啊……” “哼雀费!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起痊焊,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坐儿,失蹤者是張志新(化名)和其女友劉穎律胀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體貌矿,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炭菌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逛漫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黑低。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酌毡,靈堂內(nèi)的尸體忽然破棺而出克握,到底是詐尸還是另有隱情,我是刑警寧澤枷踏,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布菩暗,位于F島的核電站,受9級特大地震影響旭蠕,放射性物質(zhì)發(fā)生泄漏停团。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一掏熬、第九天 我趴在偏房一處隱蔽的房頂上張望佑稠。 院中可真熱鬧,春花似錦旗芬、人聲如沸舌胶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幔嫂。三九已至,卻和暖如春誊薄,著一層夾襖步出監(jiān)牢的瞬間婉烟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工暇屋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洞辣。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓咐刨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扬霜。 傳聞我的和親對象是個(gè)殘疾皇子定鸟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容