Macos 代码设计通过终端始终未发现标识错误
我已经检查了已经存在的问题,但没有一个解决了我的问题(比如重新创建证书)。我构建了一个应用程序,在这个应用程序中,我几乎没有可执行文件、文件夹和框架。每当我尝试使用codesign-s“我们的身份”时,my.app总是不提供任何身份信息。有人能给出一个循序渐进的过程吗Macos 代码设计通过终端始终未发现标识错误,macos,osx-snow-leopard,code-signing,Macos,Osx Snow Leopard,Code Signing,我已经检查了已经存在的问题,但没有一个解决了我的问题(比如重新创建证书)。我构建了一个应用程序,在这个应用程序中,我几乎没有可执行文件、文件夹和框架。每当我尝试使用codesign-s“我们的身份”时,my.app总是不提供任何身份信息。有人能给出一个循序渐进的过程吗 codesign -s "Developer ID Application: Sai***** (123123123J)" out/Release/Sai.app 错误 我试图删除“开发者ID应用程序”和序列号,但所有操作都会出
codesign -s "Developer ID Application: Sai***** (123123123J)" out/Release/Sai.app
错误
我试图删除“开发者ID应用程序”和序列号,但所有操作都会出现相同的错误
在这些方面寻求帮助
谢谢我在这方面也遇到了一些麻烦。仔细检查您的代码签名标识是否在您的密钥链中,您可以考虑使用SHA-1指纹,而不是使用-S.的名称。 打开
钥匙链访问
并选择开发者ID应用程序:FOO
证书,然后选择获取信息,可以找到SHA-1指纹。从这里,滚动到信息的底部,直到找到指纹。可以复制此处的SHA-1指纹,您必须删除所有空格,但之后您将拥有一个40个字符的标识符,该标识符将适合放置在codesign语句中的-s
之后
如果您在查找密钥时仍有问题,请从终端尝试以下操作:
certtool y | grep Developer\ ID
并在通用名称
中查找具有开发者ID应用程序
的任何内容,以验证证书实际上位于可从终端访问的密钥链中。如果您没有看到任何响应,则表明包含凭据的钥匙链不可用于终端
会话。这样做的原因包括钥匙链被锁定、shell作为另一个用户运行、使用不同的权限执行命令(例如sudo
)
执行上述命令后,您至少应具有以下内容:
Developer ID Application: <your company name>
Developer ID Installer: <your company name>
Developer ID Certification Authority
开发人员ID应用程序:
开发者ID安装程序:
开发者ID证书颁发机构
如果你没有这三个元素,你应该去下载缺失的元素。尽管您目前可能不需要构建安装程序,但拥有它并没有什么害处。应用程序和安装程序元素可以从上的“证书、标识符和配置文件”选项卡的“Mac证书”部分下载。你应该有没有过期的物品。你可能也有已经过期的物品。要在密钥链中安装证书,请执行以下操作:
- 您的私钥和签名证书(开发者ID安装程序、开发者ID应用程序和应用商店证书)应位于登录密钥链中
- 苹果全球开发者关系认证机构和开发者ID认证机构属于系统密钥链
- 开发者证书也属于您的登录密钥链
- 在对钥匙链执行任何维护之前,请确保您有钥匙链的备份
- 此过程旨在删除与开发相关的不必要的证书,如果证书不是以Mac Developer、第三方Mac Developer、iPhone Developer或Developer ID开头的,此时不要将其弄乱。如果您意外删除了通过电子邮件收到的证书(例如),即使证书已过期,您也可能无法阅读收到的电子邮件
Developer ID Application: <your company name>
Developer ID Installer: <your company name>
Developer ID Certification Authority
$ sudo security add-trusted-cert -d -r trustRoot -p codeSign -k /Library/Keychains/System.keychain ~/Desktop/gdb-cert.cer
$ security find-identity -p codesigning
Policy: Code Signing
Matching identities
1) E7419032D4..... "Mac Developer: FirstName LastName (K2Q869SWUE)" (CSSMERR_TP_CERT_EXPIRED)
2) ACD43B6... "gdb-cert"
2 identities found
Valid identities only
1) ACD43... "gdb-cert"
1 valid identities found
$ codesign --sign gdb-cert.cer --keychain ~/Library/Keychains/login.keychain `which gdb`
gdb-cert.cer: no identity found
codesign -s gdb-cert --keychain /Library/Keychains/System.keychain `which gdb`
certtool y | grep "Developer ID Application: xxxx"
codesign --keychain /Users/myUser/Library/Keychains/login.keychain --force --verbose -s "Developer ID Application: xxxx