3

我为 Java 应用程序创建了 app 和 dmg。我正在签名以及通过代码签名验证 dmg 和应用程序。

codesign -s "mycomapany name" myproduct.dmg/myproduct.app

使用以下命令验证两者 -

代码设计 -v myproduct.dmg/myproduct.app

在分别为 app 和 dmg 执行此命令时,它没有提供任何消息来确认它们是否已签名?

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

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

谢谢

4

1 回答 1

8

要从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!
于 2013-08-02T13:24:55.687 回答