免责声明,我是 Java 开发人员而不是 Apple 开发人员,因此很少使用 Apple 特定的工具。
我开发了一个 Java 应用程序,作为我从命令行构建的一部分,我使用 Apple Developer Id 证书对其进行签名,如下所示
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
/usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app
/usr/bin/codesign --verify --deep --verbose /Applications/SongKong.app
不幸的是,当我今天尝试构建时出现错误,因为证书已在几天前过期,它最初是 5 年前创建的。
因此,我更新了 Apple Developer 会员资格(也已过期)并最终找到了一种使用KeyChain来创建 CertificateSigningRequest.certSigningRequest 文件的方法,然后我将其上传到 Apple 并生成了 developerID_application.cer 文件。我打开了它,它被添加到 KeyChain
然后我重新运行我的构建,但它失败了,因为它现在找到了两个证书
然后我删除了旧的过期证书并重新运行,这一次似乎我必须通过输入我的 KeyChain 密码来授予使用证书的权限。不幸的是,这似乎与我的主 Mac 密码不同,因此我最终不得不强制退出并重新启动。
为了重置 KeyChain 密码,我按照在线步骤进行操作
Open KeyChain Access
From the KeyChain Access menu, choose Preferences.
Click General, then click Reset My Default KeyChain.
然后我重新运行了我的构建,但虽然证书似乎在那里,但它报告“找不到身份”。我认为因为创建了一个新的 KeyChain,我已经删除了我的个人身份(这是证书颁发机构吗?)。
所以现在我只有一个开发者 ID 证书,但没有其他部分,不知道该怎么做。
问题 1:当我选择重置我的默认钥匙串时,它说旧钥匙串保存在某个地方,所以我的第一个问题是我可以再次将其设为默认值,然后可能有一种方法可以实际重置密码,或者我将能够猜一下。
问题 2:如果我不能做 Qu.1,我需要做什么来重新创建我现在缺少的个人证书部分。请记住,这只是用户可以在他们的 Mac 上安装我的软件而不会收到有关不受信任的开发人员的警告。