tro*_*foe 6 macos code-signing certificate keychain
我正在将代码签名集成到我们的构建中并创建了一个自定义密钥链,该密钥链保存在源代码树中并用于对代码进行签名(~/Library/Keychains在使用之前将其复制到,因此它位于一个众所周知的位置).
但是,当我尝试签名时,我收到一个错误:
$ /usr/bin/codesign --sign='Mac Developer: John Doe (AA1AAA1AAA)' \
--keychain=~/Library/Keychains/xxx.keychain \
dist/64/gmake/release/bin/libmylib.dylib
Mac Developer: John Doe (AA1AAA1AAA): no identity found
Run Code Online (Sandbox Code Playgroud)
然而:
$ security find-identity -p codesigning ~/Library/Keychains/xxx.keychain
Policy: Code Signing
Matching identities
1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)"
1 identities found
Valid identities only
1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)"
Run Code Online (Sandbox Code Playgroud)
所以我不明白为什么codesign无法找到身份.
谁有人建议解决方案?
请注意,我也尝试使用标识的SHA-1,结果相同.
一些codeign的错误消息不太明确.这里的问题是协同设计无法找到钥匙串,而这是由于使用而导致的--keychain=~/path.这被解释为单个参数,并且不执行波浪扩展.如果修改命令以使用单独的参数,它应该按预期工作:
codesign --sign 'Mac Developer: John Doe (AA1AAA1AAA)' \
--keychain ~/Library/Keychains/xxx.keychain \
dist/64/gmake/release/bin/libmylib.dylib
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12957 次 |
| 最近记录: |