签署.Jar文件

时间:2013-06-19 09:20:57

标签: applet certificate java

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

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

但是根据他们的网站,您必须先将.jar文件签名,然后才能将其作为applet加载,否则无法打开tcp连接。

所以我在我的时间里做了尽可能多的研究,并提出了JDK安装中提供的jarsigner.exe和keytool.exe文件。

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

任何帮助?

由于

4 个答案:

答案 0 :(得分:15)

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

keytool -genkey -alias somekeyname

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

jarsigner /path/to/jar somekeyname

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

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

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

答案 1 :(得分:1)

您可以使用以下方式签名广告:

安装此Eclipse插件

Eclipse Webstart Plugin.

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

DEMO

答案 2 :(得分:0)

这是一个有点复杂的领域,你基本上需要知道你在做什么,你可能需要为签署证书支付真钱。

Sun Java Tutorial很好地介绍了这个主题:http://docs.oracle.com/javase/tutorial/deployment/jar/signing.html

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

答案 3 :(得分:0)

将最常见的答案与some useful hints合并,以获得完全无法识别的脚本:

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