在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
答案 0 :(得分:1)
我在OSX 10.6.8中遇到了这个问题。
幸运的是,看起来在10.7 Lion中运行相同的命令工作正常。