小程序录音机

时间:2012-10-19 08:24:18

标签: java security applet code-signing javasound

我有一个小程序正在做一些录音工作。当我用Applet查看器在eclipse上运行它时,录音及其播放工作正常。但是,当我将该applet放入浏览器时,所有按钮和控件都可见,但录制和播放不起作用。有什么原因吗?

我已经签了罐子,但它仍然没有用。我从jarsigner验证了我的罐子。它消息

jar is unsigned (Signature missing or unparsable)

这条消息实际意味着什么?

更新

Jar现已签名并经过验证(根据评论),新的例外是:

   java.lang.SecurityException: trusted loader attempted to load sandboxed resource    from file:/D:/Junaid/workspace/AudioProjectApplet/bin/com/audio/
   at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source)
   at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1500(Unknown Source)
   at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.checkResource(Unknown Source)
   at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
   at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
   at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

1 个答案:

答案 0 :(得分:1)

抱歉,我上次说得对。 通常,签名JAR文件的验证将由Java™运行时环境负责。您的浏览器将验证它下载的签名小程序。使用解释器的-jar选项调用的签名应用程序将由运行时环境验证。

但是,您可以使用Jarsigner工具自行验证签名的JAR文件。您可能希望这样做,例如,测试您已准备好的签名JAR文件。

用于验证签名JAR文件的基本命令是:

jarsigner -verify jar-file 此命令将验证JAR文件的签名,并确保归档中的文件自签名后未发生更改。如果验证成功,您将看到以下消息:

jar验证。 如果您尝试验证未签名的JAR文件,则会显示以下消息:

jar未签名。 (签名丢失或无法解析) 如果验证失败,则会显示相应的消息。例如,如果自JAR文件签名后JAR文件的内容发生了更改,则在尝试验证文件时将产生类似于以下内容的消息:

jarsigner:java.lang.SecurityException:无效的SHA1 test / classes / Manifest.class的签名文件摘要