过去,我必须对.dmg文件进行共同设计。
旧证书已经过期,我有一个新证书要签名。没问题,对吧?做我上次做的事吗?是的。我在 Windows 中将新证书链和私钥导出为 .pfx 文件。看来我可以直接将其导入 OS X 钥匙串工具,而无需先转换为 .p12。所以我做了。
当实际进行协同设计时,首先尝试说它无法确定要使用哪个证书。所以我把旧的证书链和私钥放在一个钥匙串(2011),新的放在另一个(2012),然后再试一次:
所以...
codesign -s "Identifier Name" --keychain 2012.keychain --verbose --dryrun somefile.dmg
返回...
somefile.dmg: signed []
但!
codesign -s "Identifier Name" --keychain 2012.keychain --verbose somefile.dmg
返回...
somefile.dmg: Argument list too long
只是为了确定...
codesign -d --verbose somefile.dmg
揭示...
somefile.dmg: code object is not signed
对于踢腿和咯咯笑声,
codesign -s "Identifier Name" --keychain 2011.keychain --verbose somefile.dmg
揭示...
somefile.dmg: signed generic [somefile.dmg]
tl;博士我仍然可以用我过期的证书签名,但是当我尝试用新证书这样做时,它可以在试运行时工作,但是当我尝试真正签名时,命令返回“参数列表太长” .
我已经尝试解决这个问题大约两个星期了,我不骗你,据我搜索,在这个神秘的错误消息中没有任何发现。
关于发生了什么,或者我还能做什么的任何想法?
谢谢,
-伦巴