逐步签署java applet

时间:2011-01-20 16:59:56

标签: java applet signed-applet

我正在编写一个使用的Java小程序 org.apache.commons.net.ftp.FTP从网页上传文件到ftp服务器

applet在eclipse中工作..

我的项目包含Uploader.java,FtpUpload_thread.java和commons-net-2.2.jar(导入org.apache.commons.net.ftp.FTP)文件..

我使用cmd命令编译我的类:

javac *.java -cp *.jar

我把课程放在html中:

<applet code="Uploader.class" codebase="./" archive="commons-net-2.2.jar" width="600" height="230"></applet>

但是当我尝试建立连接时,我收到错误:

java.security.AccessControlException: access denied (java.net.SocketPermission /*myftp*/ resolve)

所以我必须签署我的小程序..

  • 我制作了我的jar文件:

    jar cvf Uploader.jar Uploader.class FtpUpload_thread.class commons-net-2.2.jar

  • 我生成密钥:

    keytool -genkey -alias signFiles -keystore compstore

然后我把程序需要的值... 现在我有了compstore数据库文件

  • 我签署了JAR文件

    jarsigner -keystore compstore -storepass pass         -keypass传球     -signedjar     UploaderS.jar Uploader.jar signFiles

我有UploaderS.jar文件

所以现在我的文件夹包含:

Uploader.jar
UploaderS.jar
compstore
Uploader.class
commons-net-2.2.jar
FtpUpload_thread.class

这是全部还是我需要其他步骤?

将我的签名小程序放入并使用权限运行它的html代码是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议使用java插件而不是&lt; applet&gt;标签

您必须指定班级所需的所有罐子并使用签名档案

<object classid="clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA" width="600" height="230">
    <param name="code" value="Uploader" />
    <param name="java_archive" value="UploaderS.jar, commons-net.jar" />
    <comment>
         <embed width="600" height="230" code="Uploader" type="application/x-java-applet;version=1.6" archive="UploaderS.jar, commons-net.jar">
             <noembed>
                 No Java Support.
             </noembed>
        </embed>
    </comment>
</object>

我还建议在applet类上添加一个包。

我不确定如何指定applet使用的权限。

希望这有帮助。