1

なぜこれを行うのか、アプレットに署名したり、J2EE クライアント権限で JWS を介して展開したりすることを提案する前に、それは純粋に学術的な理由であり、私自身の好奇心を満たすためです。

以下に示すように、問題のアプレットを管理するために使用されるポリシー ファイルを指す VM 引数 (java.security.policy) を提供しようとしていますが、無視されているようで、一貫してセキュリティ例外がスローされます。これが予期されることであると述べているOracleのドキュメントには何も見つかりません。誰かが私のためにこれに光を当てることができますか? ありがとう

(結果)

java.security.AccessControlException: access denied ("java.io.FilePermission" "frustrated.txt" "write")

(html)

<html>
    <body>
        <applet name ="Frustrated" 
                code="com.test.Main.class" 
                archive="Frustrated.jar" 
                width="100" 
                height="100"
        >
            <PARAM name="separate_jvm" value="true">
            <PARAM name="java_arguments" value="-Djava.security.policy=C:\Frustrated.policy">
        </applet>
    </body>
</html>

(ジャワ)

package com.test;

import java.applet.Applet;
import java.io.FileOutputStream;
import java.io.IOException;

@SuppressWarnings("serial")
public class Main extends Applet
{
    @Override
    public final void init()
    {
        try
        {
            new FileOutputStream("frustrated.txt");
        }
        catch (IOException e) { }
    }
}

(ポリシー)

grant
{
    permission java.security.AllPermission;
};
4

1 に答える 1