我有一个名为mindterm(免费版)的.jar应用程序,并希望将其作为网站中的applet运行。
但是根据他们的网站,您必须先将.jar文件签名,然后才能将其作为applet加载,否则无法打开tcp连接。
所以我在我的时间里做了尽可能多的研究,并提出了JDK安装中提供的jarsigner.exe和keytool.exe文件。
但是我不知道如何签署这个应用程序,以便我可以实际使用它。
任何帮助?
由于
答案 0 :(得分:15)
首先使用keytool
创建一个密钥对。
keytool -genkey -alias somekeyname
然后使用jarsigner
使用您刚刚创建的密钥对其进行签名。
jarsigner /path/to/jar somekeyname
注意,您需要使用与创建密钥的别名相同的别名(somekeyname
)。
现在,由于证书是自签名的,因此将提示您的applet用户批准证书。一旦他们这样做,你的tcp连接应该可以工作。
由于我假设您只在组织内部使用applet,因此自签名证书应该没问题。否则你将需要支付证书。在这种情况下,您的用户不需要在第一次之后接受证书(如果他们选择“始终允许”)。
答案 1 :(得分:1)
答案 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