当我试图在下面的罐子里自我签名时.
jarsigner -keystore my keystore myjar.jar myalias
Run Code Online (Sandbox Code Playgroud)
它给出了警告:
没有-tsa或-tsacert,这个jar没有时间戳.如果没有时间戳,用户可能无法在签署者证书的到期日期(2014-05-08)之后或任何未来的撤销日期之后验证此jar.
请帮忙解决问题.
我正在尝试在我的网站上部署Java applet.我还需要签名,因为我需要访问剪贴板.我已经按照我能找到的所有签名教程,但没有取得任何成功.这是我到目前为止所做的:
Run Code Online (Sandbox Code Playgroud)keytool -genkey -keyalg rsa -alias myKeyName keytool -export -alias myKeyName -file myCertName.crt
Run Code Online (Sandbox Code Playgroud)jarsigner "C:\my path\myJar.jar" myKeyName
Run Code Online (Sandbox Code Playgroud)<html> <body> <applet code="my/path/name/myApplet.class" archive="../dist/myJar.jar"/> </body> </html>
当我打开那个html文件时,我从未得到安全确认对话框(从而得到"java.security.AccessControlException:access denied"错误).这发生在所有浏览器上.
我错过了一步吗?
.class文件和.java文件之间有什么区别?我试图让我的applet工作,但目前我只能在Eclipse中运行它,我还不能嵌入HTML.谢谢
**编辑:如何用JVM编译呢?
我在签名的Java小程序中有以下清单信息.我的构建环境很旧,目前仅限于JDK 1.6.
Manifest-Version: 1.0
Implementation-Vendor: Foo, Inc.
Application-Library-Allowable-Codebase: *
Application-Name: FooBar
Permissions: all-permissions
Sealed: true
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Codebase: https://*
Run Code Online (Sandbox Code Playgroud)
根据Java文档 -
如果将与顶级域(如*.org)一起使用的独立星号(*)或星号指定为Caller-Allowable-Codebase属性的值,则从JavaScript代码到RIA的调用将显示安全警告.用户可以选择允许呼叫或阻止呼叫.还提供了记住选择的选项.如果用户选择记住该选项,则当它从同一来源的JavaScript代码接收调用时,不会显示同一RIA的其他警告消息.
我的Web应用程序中的Java脚本代码依赖于Applet的返回代码来显示门户上的适当状态.显示的消息因返回的状态代码而异.但是为了实现这一点,应该出现Java警告窗口.在Firefox v51和JRE 1.8.121中,此警告窗口有时会显示.如果没有,则不存在JavaScript和Applet之间的通信.什么可能是警告窗口不会一直出现的问题?
有谁知道如何解决这个问题?我尝试了很多东西,但没有一个能奏效.
当我点击更多细节时,我得到了这个:
at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
atsun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at sun.plugin.security.PluginClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 是否可以组合两个jar文件,以便在applet标签中我可以简单地做类似的事情
archive="jarjar.jar/jar1.jar"... ...archive="jarjar.jar/jar2.jar"... instead of
archive="jar1.jar"... ...archive="jar2.jar"...
Run Code Online (Sandbox Code Playgroud)
我只需要一个jar文件,所以将两个jar文件放在一个文件夹中对我没用.
使用OS X 10.8的新版本,当您尝试启动已签名的Java小程序时,Gatekeeper将弹出以下警告:

applet已使用有效的代码签名证书进行签名,并且可以在其他平台以及以前版本的OS X上正常运行.如果我将"允许从以下位置下载的应用程序"更改为"Anywhere",则它可以正常工作.
据我所知,"数字签名无法验证",实际上意味着"没有使用Mac开发者ID进行签名".
那么:我可以使用Mac开发者ID签署Java小程序吗?我可以使用Mac开发者ID和标准代码签名证书进行签名吗?有更好的方法吗?
我创建了一个Java applet程序并对其进行了编译.作为编译的结果,它生成了一个class文件.但是,使用appletviewer命令在命令提示符下运行applet时,它显示以下警告消息.
D:\Applets\Applets>appletviewer FirstApplet.java
Warning: Can't read AppletViewer properties file: C:eswaran_s.VMSPL\.hotjava\properties Using defaults.
Run Code Online (Sandbox Code Playgroud)
当我再次运行此命令时,它不会显示警告消息,但applet未运行.
我该如何解决这个问题?
我正在编写Java applet并将其嵌入到网页中.它曾经在不同的浏览器中运行Mac和Windows而没有任何问题.我在Mac上使用NetBeans来构建applet使用的.jar文件.
出于某种原因,我决定在Windows的NetBeans上加载项目 - 当从任何浏览器访问网页时,我开始在Windows机器上收到以下错误:
java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file
Run Code Online (Sandbox Code Playgroud)
由于担心我一直决定在Windows上打开导致此错误的项目 - 我尝试使用Mac的NetBeans进行构建 - 但错误仍然存在.
我在Mac上开始了一段时间的新项目并导入了现有的源代码:仍然是同样的问题.
我正在阅读有关此错误的一些内容,似乎预期的幻数是十六进制的0xCAFEBABE,即十进制的3405691582,而不是1008813135.所以看起来Mac版的Java不再生成这个文件头?锄头可以吗?我没有做任何更新或任何事情.
如何为现代浏览器部署Java applet?我知道有三种可能性,但没有人告诉我哪一个更喜欢以及如何使用它们.
有人有任何资源吗?我找不到任何:(
applet ×10
java ×10
appletviewer ×1
browser ×1
certificate ×1
class ×1
code-signing ×1
deployment ×1
encryption ×1
jar ×1
keystore ×1
self-signed ×1