如何使Install4j标志一切?

时间:2013-06-20 22:02:22

标签: macos code-signing install4j

如何更改install4j在Mac OS X上进行代码签名所签署的文件?

具体来说,我的应用程序的所有文件(包括其jar文件)都没有签名。这完全违背了代码签名的目的。所以,我想解决这个问题。

我也想在Windows上做同样的事情,但这可能已经正确处理了(我还没有检查过)。

2 个答案:

答案 0 :(得分:1)

签署的目的不是签署任何可以签署的所有内容。

Windows 会减少UAC对话框,如果可执行文件已签名,则会显示不同的警告级别。请求提升权限的每个启动程序都必须进行签名,以便包括安装程序,卸载程序以及可能的启动程序。

Mac OS X 有一个“看门人”,用于检查从互联网下载的应用程序包是否已签名。如果没有,它将不允许您直接运行它。这就是必须签署安装程序应用程序包的原因。 Gatekeeper不关心安装程序安装的任何应用程序包,因此默认情况下不对其进行签名。这主要是一件好事,因为否则您将无法在安装后修改启动器的Info.plist文件。

如果您使用权利获取对Mac OS X上特定功能的访问权限,则您的发射器也需要进行签名。您可以在启动器向导的“可执行信息 - > Mac OS X选项”步骤中指定权利文件,并在Mac OS X媒体文件向导的“安装程序选项”步骤中选择“签署已安装的启动程序”。

install4j不关心签名JAR文件。如果由于某种原因需要此功能,则必须在构建过程中执行此操作。

答案 1 :(得分:0)

@Ingo,对于应用程序可能需要的某些受限功能(例如,打开网络套接字),需要启动器签名也是如此。我还认为我应该提一下#34; Sign已安装的发射器"关于"安装程序选项"步骤不适用于" Mac OS X单捆"媒体类型,因此如果用户需要启动签名,则需要选择其他媒体类型。

这在文档中并不清楚,所以希望这个评论可以节省一些时间。