codesign:“参数列表太长”

时间:2011-06-03 21:34:36

标签: macos certificate keychain codesign

past中,我必须对.dmg文件进行编码。

旧证书已经过期,我有一个新的证书。没问题,对吧?做我上次做的事情?是。我在Windows中将新证书链和私钥导出为.pfx文件。我似乎可以直接将其导入OS X钥匙串工具,而不必先转换为.p12。所以我做到了。

当实际编码时,首先尝试说它无法确定使用哪个证书。所以我将旧的证书链和私钥放入一个钥匙串(2011年),将新的证书链和私钥放在另一个(2012年),然后再试一次:

所以...

codesign -s "Identifier Name" --keychain 2012.keychain --verbose --dryrun somefile.dmg

...返回

somefile.dmg: signed []

BUT!

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; dr 我仍然可以使用过期的证书对其进行签名,但是当我尝试使用新的证书时,它可以用于干燥运行,但是当我尝试签署真实证书时,该命令返回“参数列表太长”。

我一直在努力解决这个问题大约两个星期,但我现在却没骗你,而且我从搜索中发现,在这个神秘的错误信息上找不到任何东西。

关于发生了什么,或者我还能做些什么的任何想法?

谢谢,

-Lunpa

1 个答案:

答案 0 :(得分:1)

我在OSX 10.6.8中遇到了这个问题。

幸运的是,看起来在10.7 Lion中运行相同的命令工作正常。