gpt4 book ai didi

java - 从 JApplet 读取文件

转载 作者:行者123 更新时间:2023-12-01 14:14:18 24 4
gpt4 key购买 nike

我需要从 JApplet 读取证书文件 (private.der) 来为 RSA 创建私钥,但收到错误

访问被拒绝(“java.io.FilePermission”“private.der”“read”)

我了解到JApplet在沙箱中运行,只要未分配就无法访问文件。如果我错了请纠正我。

我签署了它并且它起作用了:

keytool -genkey -keyalg rsa -alias myKeyName
keytool -export -alias myKeyName -file myCertName.crt

jarsigner "RSA.jar" myKeyName

但我仍然收到错误 FilePermission 错误。

Java 代码

File f = new File("private.der");
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();

PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey key = kf.generatePrivate(spec);

如果 Google Chrome 中有用于禁用沙箱的标志/参数,请将其提供给我。无论如何,由于同源策略,我正在使用 --allow-file-access-from-files --disable-web-security 进行测试。

最佳答案

对小程序进行签名仅用于:

a) 识别提供商(通常最好使用 CA 颁发的证书)。

b) 确保内容未被其他人修改。

它本身不提供任何安全权限。您需要在安全策略文件中授予某人签名的小程序所需的权限。

此链接有点旧,但很好地解释了该过程。 http://www.pawlan.com/monica/articles/signedapps/

对于此类问题,Oracle 引用资料指向 Java Web Start 应用程序而不是小程序,因此您可以探索一下。 http://docs.oracle.com/javase/tutorial/deployment/applet/security.html

哦,顺便说一句,所有这些检查都是 JVM 内部的,所以我怀疑是否有任何标志/配置可以在浏览器中禁用它。

关于java - 从 JApplet 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com