2023-06-05 玩了苹果开发证书这么多年,我竟然不知道p12文件是从哪里来的

最近在处理一个特殊的证书 Developer ID Application(这个证书使用来给那些在Mac App Store之外发布的App进行签发)

截屏2023-06-05 16.35.46.png

但是我发现,我即使下载了这个证书依旧不能使用
打开xcode中的证书管理界面,我们发现,这个证书显示缺少私钥

missing  private  key

或者使用codesign命令时,我们得到一下错误

no identity found

解决方案:
加入秘钥即可,但是这个秘钥去哪里找呢???

我们从苹果开发者网站(developer.apple.com)上,只能下载证书。

但是申请过证书的人都知道,每次申请证书的时候都需要通过钥匙串访问这个App,使用证书助理功能生成私钥请求,通过私钥去官网申请证书。

那么证书相当于公钥,放在苹果的开发者网站上,私钥存在于那个用来申请证书的电脑上。

如果一个证书要给多台打包机,就需要转移私钥。而转移私钥最好的方法就是p12文件导出。
怎么导出p12,答案就是:

在生成私钥的证书电脑上导出p12文件。

在没有私钥的电脑上导出证书时,如下所示:


image.png

在有私钥的电脑上导出证书时,如下所示:


2219631-2c65c34f2fe10fa7.png

有私钥证书最明显的差异是证书左边有个箭头,点击开来会有个钥匙标记,如下所示:


截屏2023-06-05 21.09.30.png

好了,如果私钥丢失,那么这个证书基本上就废掉了,只能删除重新创建了。

p12,是私钥的载体。相当于钥匙复制体。在一个导入了p12文件的电脑,可以在再次导出p12给别人用。一旦p12公开了,那么私钥的意义就没有了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容