12

我坐着有点问题。我正忙着为我们的支持团队创建一个 php/html 网站(内联网),以便在支持 linux 机器时让生活更轻松。

我有一个名为 mindterm(免费版)的 .jar 应用程序,并希望在站点中将其作为小程序运行。

但是,根据他们的站点,您必须在将 .jar 文件作为小程序加载之前对其进行签名,否则它无法打开 tcp 连接。

因此,我尽可能多地进行了研究,并提出了 JDK 安装中提供的 jarsigner.exe 和 keytool.exe 文件。

但是我不知道如何签署这个应用程序,以便我可以实际使用它。

有什么帮助吗?

谢谢

4

4 回答 4

18

首先使用创建一个密钥对keytool

keytool -genkey -alias somekeyname

然后使用jarsigner您刚刚创建的密钥对其进行签名。

jarsigner /path/to/jar somekeyname

请注意,您需要使用与somekeyname创建密钥的别名相同的别名(此处)。

现在,由于证书是自签名的,因此将提示您的小程序用户批准证书。一旦他们这样做了,您的 tcp 连接应该可以工作。

由于我假设您仅在组织内部使用小程序,因此自签名证书应该没问题。否则,您将需要支付证书费用。在这种情况下,您的用户将不需要在第一次之后接受证书(如果他们选择“始终允许”)。

于 2013-06-19T09:39:49.457 回答
1

您可以使用以下方法对 jar 进行签名:

安装这个 Eclipse 插件

Eclipse Webstart 插件。

您只需导出为“Webstart”。它会提示您在罐子上签名。

演示

于 2013-06-19T09:41:59.603 回答
1

将最佳答案与一些 有用的 提示相结合,以获得完全无人值守的脚本:

keytool -genkey -noprompt -alias Alias -dname "CN=Hostname, OU=OrganizationalUnit, O=Organization, L=City, S=State, C=Country" -keystore path.to.keystore -storepass password -keypass password -validity 3650
jarsigner -keystore path.to.keystore -storepass password -keypass password -signedjar signed.jar unsigned.jar Alias
于 2017-01-09T22:13:33.663 回答
-1

这是一个有点复杂的领域,您基本上需要知道自己在做什么,并且您可能需要为签名证书支付真金白银。

Sun Java 教程很好地涵盖了该主题: http ://docs.oracle.com/javase/tutorial/deployment/jar/signing.html

如果目的是为支持人员提供 ssh 客户端,可能会有更好的解决方案。

于 2013-06-19T09:40:03.193 回答