在Apple的iOS配置门户中,在分发>下“准备应用程序”,有一个严厉的警告,即我保存私钥的重要性。 (要查看它,请单击“获取您的iOS分发证书”,然后“保存您的私钥并转移到其他系统。”)以下是它的说法:
如果您需要在多台Mac上构建应用程序或决定重新安装系统操作系统,则必须将私钥保存在安全的地方。 如果没有您的私钥,您就无法在Xcode中签署二进制文件,并且您将无法将您的应用程序上传到App Store或在任何Apple设备上安装您的应用程序。当生成CSR时,Keychain Access应用程序在您的登录密钥链上创建一个私钥。此私钥与您的用户帐户绑定,如果因重新安装操作系统而丢失,则无法复制。如果您计划在多个系统上进行开发和测试,则需要将私钥导入到您正在进行的所有系统上。
- 要导出您的私钥和证书以便保管,请打开钥匙串访问应用程序并选择“密钥”类别。
- 突出显示与您的iOS分发证书关联的私钥,然后从“文件”菜单中选择“导出项目”。将密钥保存为个人信息交换(.p12)文件格式。
- 系统将提示您创建一个密码,当您尝试在另一台计算机上导入此密钥时,将使用该密码。
- 您现在可以在系统之间传输此.p12文件。双击.p12以在系统上安装。系统将提示您输入上面首次输入的密码。
醇>
我无法弄清楚要保存哪个私钥,我不太明白这些东西是如何工作的。
我想我可能应该保存与名为“iPhone Distribution:Acme Software”的证书相关联的私钥(其中“Acme Software”是该公司的[虚构]名称)。如果我转到“证书”部分,那么就会有一个带有该名称的证书,如果我展开该部分,则会在其下面有一个名为“Mike Morearty”的私钥(我的名字)。所以我可以导出它。
但供应门户网站上的说明说明是转到“密钥”部分,而不是“证书”部分。在“密钥”下,我看到六个私人密钥都被命名为“Mike Morearty”,并且没有办法区分它们中的大多数。其中一些证书嵌套在它们下面,例如一个有“iPhone开发者:Mike Morearty”,另一个有“Apple Development Push Services:......”。我明白那个。但它们都没有显示“iPhone发行版:Acme软件。”
我是否应该单击“证书”部分中“iPhone Distribution:Acme Software”证书下的“Mike Morearty”私钥?或者有什么方法可以确定从Keys部分导出哪个私钥?
答案 0 :(得分:2)
为了安全起见,您可以导出所有这些内容。
但是,如果您在XCode中有一个使用正确密钥的工作构建环境,那么您也可以导出您的开发人员配置文件。在XCode中转到Window-> Organizer并在“Development”下找到“Developer Profile”。导出开发人员配置文件为该XCode安装中的所有有效标识导出相应的私钥。