1

过去,我必须对.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;博士我仍然可以用我过期的证书签名,但是当我尝试用新证书这样做时,它可以在试运行时工作,但是当我尝试真正签名时,命令返回“参数列表太长” .

我已经尝试解决这个问题大约两个星期了,我不骗你,据我搜索,在这个神秘的错误消息中没有任何发现。

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

谢谢,

-伦巴

4

1 回答 1

1

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

幸运的是,看起来在 10.7 Lion 中运行相同的命令效果很好。

于 2012-02-24T14:06:25.013 回答