java - 更改 netbeans 中的 list (Trusted-Library=true 属性)

标签 java security jar applet

我需要使用 Trusted-Library=true 属性来标记 JAR 文件...不知何故。当我在 list 中添加 Trusted-Library=true 时,出现类未找到异常。我在 Netbeans 中看到的 list 是,

 Manifest-Version: 1.0
 X-COMMENT: Main-Class will be added automatically by build

当我使用项目属性中的 Webstart 选项并从签名部分选择 Trusted-Library 时,我找不到相同的类。

我能做什么?

编辑:jar 中的 list :

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
X-COMMENT: Main-Class will be added automatically by build
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)

Name: JTwainLicense.class
SHA1-Digest: L4BTAOFRNEyeRA9Tw1Z3EQ0Ud5c=

Name: com/asprise/util/jtwain/web/TestApplet.class
SHA1-Digest: 8EetVUQhuvNH4urJB3oDG66vYas=

Name: com/asprise/util/jtwain/web/TestConstants.class
SHA1-Digest: ycjvP24IF/ggDBtj4v/r5Bz5nBY=

Name: com/asprise/util/jtwain/web/TestApplet_buttonScan_actionAdapter.class
SHA1-Digest: EWMDyf2p4ka8jOD8Fr2Fbrj/Tf0=

Name: META-INF/INDEX.LIST
SHA1-Digest: ymizlIYUM8SXgYNjYA30r1G0X7A=

Name: com/asprise/util/jtwain/web/ImageDisplayPanel.class
SHA1-Digest: Ae0oc23YVy8W9oTJoiRT2M1o4cY=

未找到类错误的 list 。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
X-COMMENT: Main-Class will be added automatically by build
Trusted-library: true
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)

Name: JTwainLicense.class
SHA1-Digest: L4BTAOFRNEyeRA9Tw1Z3EQ0Ud5c=

Name: com/asprise/util/jtwain/web/TestApplet.class
SHA1-Digest: 8EetVUQhuvNH4urJB3oDG66vYas=

Name: com/asprise/util/jtwain/web/TestConstants.class
SHA1-Digest: ycjvP24IF/ggDBtj4v/r5Bz5nBY=

Name: com/asprise/util/jtwain/web/TestApplet_buttonScan_actionAdapter.class
SHA1-Digest: EWMDyf2p4ka8jOD8Fr2Fbrj/Tf0=

Name: META-INF/INDEX.LIST
SHA1-Digest: ymizlIYUM8SXgYNjYA30r1G0X7A=

Name: com/asprise/util/jtwain/web/ImageDisplayPanel.class
SHA1-Digest: Ae0oc23YVy8W9oTJoiRT2M1o4cY=

堆栈跟踪:

ERROR: com/asprise/util/jtwain/SourceManager
Exception in thread "AWT-EventQueue-3" java.lang.NoClassDefFoundError:            com/asprise/util/jtwain/SourceManager
at com.asprise.util.jtwain.web.TestApplet.buttonScan_actionPerformed(UploadApplet.java:388)
at com.asprise.util.jtwain.web.TestApplet_buttonScan_actionAdapter.actionPerformed(UploadApplet.java:548)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
....

最佳答案

使用 Trusted-Library: true 会使 jar 文件加载到单独的类加载器中,该类加载器是加载 Applet/WebStart 应用程序的类加载器的父级。

参见:https://forums.oracle.com/forums/thread.jspa?threadID=2278127 并且还可以看到: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/mixed_code.html

这意味着您的可信代码无法访问不可信代码,除非通过 Thread.currentThread().getContextClassLoader()。

您还可以将 Trusted-Library: true 添加到您依赖的所有 jar 中。

关于java - 更改 netbeans 中的 list (Trusted-Library=true 属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16235076/

相关文章:

java - 如何使用Android Studio 0.8.9配置Andengine,Andengine Tiled Map,Physics2DBox?

node.js - 基于工作角色的授权在 react 中有多安全?

java - 如何使用 Netbeans 将选项传递给 jar 文件

java - 在 jar 中包含库

java - 处理找不到库

java - 查找 BST 的方法仍然不起作用

java - H2 数据库 URL 错误

java - Collectors.groupingBy 和 map

ios - 与 iOS 推送通知证书相关的安全风险

php - 在第 3 方托管的 MySQL 服务器中存储加密 secret 数据的最佳做法是什么?