最近在處理一個特殊的證書 Developer ID Application(這個證書使用來給那些在Mac App Store之外發(fā)布的App進行簽發(fā))

截屏2023-06-05 16.35.46.png
但是我發(fā)現(xiàn),我即使下載了這個證書依舊不能使用
打開xcode中的證書管理界面,我們發(fā)現(xiàn),這個證書顯示缺少私鑰
missing private key
或者使用codesign命令時,我們得到一下錯誤
no identity found
解決方案:
加入秘鑰即可,但是這個秘鑰去哪里找呢???
我們從蘋果開發(fā)者網(wǎng)站(developer.apple.com)上,只能下載證書。
但是申請過證書的人都知道,每次申請證書的時候都需要通過鑰匙串訪問這個App,使用證書助理功能生成私鑰請求,通過私鑰去官網(wǎng)申請證書。
那么證書相當于公鑰,放在蘋果的開發(fā)者網(wǎng)站上,私鑰存在于那個用來申請證書的電腦上。
如果一個證書要給多臺打包機,就需要轉(zhuǎn)移私鑰。而轉(zhuǎn)移私鑰最好的方法就是p12文件導(dǎo)出。
怎么導(dǎo)出p12,答案就是:
在生成私鑰的證書電腦上導(dǎo)出p12文件。
在沒有私鑰的電腦上導(dǎo)出證書時,如下所示:

image.png
在有私鑰的電腦上導(dǎo)出證書時,如下所示:

2219631-2c65c34f2fe10fa7.png
有私鑰證書最明顯的差異是證書左邊有個箭頭,點擊開來會有個鑰匙標記,如下所示:

截屏2023-06-05 21.09.30.png
。
好了,如果私鑰丟失,那么這個證書基本上就廢掉了,只能刪除重新創(chuàng)建了。
p12,是私鑰的載體。相當于鑰匙復(fù)制體。在一個導(dǎo)入了p12文件的電腦,可以在再次導(dǎo)出p12給別人用。一旦p12公開了,那么私鑰的意義就沒有了。