keystore "kim.keystore"; // Here is the permission TerrysGame needs. // It grants code signed by "terry" the HighScorePermission, if the // HighScorePermission was signed by "chris" grant SignedBy "terry" { permission com.scoredev.scores.HighScorePermission "TerrysGame", signedBy "chris"; }; // Here is the set of permissions the HighScore class needs: grant SignedBy "chris" { // The HighScore class needs permission to read "user.home" to find // the location of the highscore file permission java.util.PropertyPermission "user.home", "read"; // It needs permission to read and write the high score file itself permission java.io.FilePermission "${user.home}${/}.highscore", "read,write"; // It needs to get granted its own permission, // so it can call checkPermission // to see if its caller has permission. // Only grant it the permission // if the permission itself was signed by "chris" permission com.scoredev.scores.HighScorePermission "*", signedBy "chris"; };