# ExampleGame 开发人员（Terry）的步骤

> 原文： [https://docs.oracle.com/javase/tutorial/security/userperm/terry.html](https://docs.oracle.com/javase/tutorial/security/userperm/terry.html)

在创建一个调用`HighScore` `getHighScore`和`setHighScore`方法分别获取和设置用户的高分的游戏（`ExampleGame`）之后，Terry 将采取的步骤是：

## 编译游戏类

```
javac ExampleGame.java -classpath hs.jar -d .

```

## 将其类文件放在 JAR 文件中

```
jar cvf terry.jar com/gamedev/games/ExampleGame.class

```

## 创建用于签名的密钥库和密钥

```
keytool -genkey -keystore terry.keystore -alias signTJars

```

为密码和专有名称信息指定所需的任何内容。

## 签署 JAR 文件

```
jarsigner -keystore terry.keystore terry.jar signTJars

```

## 导出公钥证书

```
keytool -export -keystore terry.keystore
    -alias signTJars -file Terry.cer

```

## 提供用户所需的文件和信息

也就是说，供应他们

*   签名的 JAR 文件`terry.jar,`
*   公钥证书文件`Terry.cer`，和
*   有关`ExampleGame`类所需权限的信息。为此，特里可以提供所需的确切拨款。

游戏用户还需要来自 Chris 的文件和信息。为方便起见，Terry 可能会将此信息转发给他们：

*   签名的 JAR 文件`hs.jar`，
*   公钥证书文件`Chris.cer`，和
*   关于权限的信息必须在策略文件中授予`HighScore`和`HighScorePermission`类才能工作。这可能是所需的确切授权条目。