使用已签名的小程序

时间:2012-04-29 14:47:31

标签: java applet signed-applet

我想从我编写的applet创建并处理已签名的applet。 applet本身使用一个库(owlapi),该库必须具有正确的写权限才能保存对owl存储库所做的更改。

为了做到这一点,我应该使用.policy文件或签名小程序。为了制作签名小程序,我遵循了this手册。我在信中遵循了该手册,但它不起作用。我得到了一个签名小程序,并将其包含在html中,如下所示:

<applet  code="owlapi.LoadOntology.class" archive="owlapi/SignedLoadOntology.jar" height=100 width=1000 MAYSCRIPT>
<param NAME="archive" VALUE='owlapi/Signedowlapi-src.jar, owlapi/Signedowlapi-bin.jar'>
</applet>

当我使用appletviewer测试该applet时(在该手册中推荐),我收到错误

我以为我可以通过手动编译该库的代码来解决这个问题,然后使用所有这些.class文件创建一个jar,但这没有帮助:

javac -cp owlapi-src.jar:owlapic-bin.jar LoadOntology.java
jar cvf LoadOntology *.class

有人知道如何创建这样一个使用其他jar文件的签名小程序吗?

* update:*在阅读this帖子后,我发现owlapi-src和owlapi-bin jar必须包含在html中的applet中,也应该签名。我将代码更改为我当前的测试代码,但仍然没有用,因为我现在再次使用

 java.lang.SecurityException: Unable to create temporary file

表示找不到使用过的owlapi库的代码。

1 个答案:

答案 0 :(得分:0)

你可能不需要包含-src jar,因为我希望它包含java源代码。 我认为你需要在一个相同的applet参数中提供你自己的签名jar和签名库jar,如下所示:

<applet  code="owlapi.LoadOntology.class" height=100 width=1000 MAYSCRIPT>
    <param NAME="archive" 
        VALUE='owlapi/SignedLoadOntology.jar, owlapi/Signedowlapi-bin.jar'>
</applet>