如何对 Java 小程序进行签名以在浏览器中使用?

2022-09-01 02:42:40

我正在尝试在我的网站上部署一个Java小程序。我还需要签名,因为我需要访问剪贴板。我已经遵循了我能找到的所有签名教程,但没有取得任何成功。以下是我到目前为止所做的工作:

  • 在 NetBeans 中编写了一个小程序。它在小程序查看器中运行良好。
  • 从中制作了一个.jar文件。
  • 通过执行以下操作创建了证书:
keytool -genkey -keyalg rsa -alias myKeyName
keytool -export -alias myKeyName -file myCertName.crt
  • 用 jarsigner 签名,如下所示:
jarsigner "C:\my path\myJar.jar" myKeyName
  • 制作了一个包含以下内容的 html 文件:
<html>
  <body>
<applet code="my/path/name/myApplet.class" archive="../dist/myJar.jar"/>
  </body>
</html>

当我打开该html文件时,我从未收到安全确认对话框(因此得到“java.security.AccessControlException:访问被拒绝”错误)。这发生在所有浏览器上。

我错过了一个步骤吗?


答案 1

3 个简单步骤

  1. keytool -genkey -keystore myKeyStore -alias me

  2. keytool -selfcert -keystore myKeyStore -alias me

  3. jarsigner -keystore myKeyStore jarfile.jar me


答案 2

可能是因为您正在jar文件打开一些.class文件?

这样,它可能不会显示警告。我尝试这样做,但它仍然向我显示证书警告,对于一个简单的案例,它实际上阻止了我从JAR访问具有分离类的类。

也许您的特定设置或文件组织会导致这种行为。如果你能更详细地布局它,我们可以更好地提供帮助(或者更确切地说,尝试将所有.class文件放在另一个签名的Jar中,并将其添加到存档中“...,另一个Jar.jar”)。


推荐