免责声明,我不是Java开发人员,而是Java开发人员,因此很少使用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上安装我的软件,而不会收到有关不受信任的开发人员的警告。
答案 0 :(得分:0)
好了,我解决了,我按照these的说明进行操作,以便基本上恢复以前的钥匙串
但是然后我仍然遇到一个问题,当我尝试签名时,系统提示我输入KeyChain密码,但我不知道该密码.....
但是在 KeyChain Access 中,我去了 Edit:更改钥匙串“登录”的设置 然后输入我认为的旧密码和新密码,即使我使用密码对其进行签名失败,它也接受了更改
然后我运行登录并在出现提示时输入新密码,并接受了该密码。
我验证了签名,上载了版本,下载,安装并运行了该版本,以确保该版本没有问题并且很好。因此,我希望这个答案能帮助其他非Apple开发人员在他们的工具上苦苦挣扎