如何检查app或dmg是否已签名?

时间:2013-08-02 13:08:53

标签: java codesign

我已经为Java应用程序创建了app和dmg。我正在签署以及通过codesign验证dmg和app。

codesign -s“mycomapany name”myproduct.dmg / myproduct.app

使用以下命令验证两者 -

codesign -v myproduct.dmg / myproduct.app

单独为app和dmg执行此命令时,它没有给出任何消息来确认它们是否已签名?

与执行命令一样 - jarsigner -verify -certs myproduct.jar 会返回“ jar已验证。”

如何验证dmg和app是否已正确签名。

由于

1 个答案:

答案 0 :(得分:6)

要从codesign命令获得更多输出,请在第一个之后添加第二个-v参数:

codesign -v -v myproduct.dmg/myproduct.app

这相当于:

codesign --verify --verbose myproduct.dmg/myproduct.app

codesign命令还有一个退出值,可用于获取其结果:

签名应用的示例:

codesign -v myproduct.dmg/myproduct.app
echo $?
Output: 0

codesign -v myproduct.dmg/myproduct.app && echo SIGNED!
Output: SIGNED!

codesign -v myproduct.dmg/myproduct.app || echo UNSIGNED!
No output

未签名应用的示例:

codesign -v myproduct.dmg/unsigned.app
echo $?
Output: 1

codesign -v myproduct.dmg/unsigned.app && echo SIGNED!
No output

codesign -v myproduct.dmg/unsigned.app || echo UNSIGNED!
Output: UNSIGNED!