以下で、ユーザー情報と作業ディレクトリを表示するアプレットを示します。
通常のアプレット(署名なし)では、 このような実行をセキュリティ的に許していません。
クライアント側のユーザー情報取得や、ハードディスクをアクセスする実行を制限しています。 実行すると次のエラーになります。
例外: java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)
Ignored exception: java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read)

また、 アプレットからそのサーバ以外と通信するネットワークプログラムも許可されていません。

ですがキーペアに対して正当な認証局の署名を受けると、このプログラムは 実行可能になります。
(上記アプレットは署名をしていますが、それは自身で署名したもので 正当な認証局の署名ではありません。)
このような作品を作る場合、テストでは本来の署名が得られませんが ブラウザにでkeytool作成した証明書を登録することで、テスト実行できます。 →証明書インポートを参照
また、次の警告ダイアログの出現に対して、許可することで実行できるでしょう。

このアプレット用のHTMLソース部分を以下に示します。

<html lang="ja">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<applet CODEBASE="./" archive="userinfo.jar" code="UserInfo.class" name="ap" Width="500" Height="200" >
</applet>
</body>
</html>

また、上記アプレットのJavaソースコードを示します。

import java.applet.*;
import java.awt.*;//各種部品
import java.io.*;//ファイル操作

public class UserInfo extends Applet {

	TextField txt = new TextField (20);
	TextArea txt2 = new TextArea();
	
	public void init(){//アプレットがロードされた時に呼ばれる。
		this.setLayout(new BorderLayout() );
		add(txt, BorderLayout.NORTH);
		add(txt2, BorderLayout.CENTER);

		//ユーザーアカウント名取得
		String userID = System.getProperty("user.name");
		System.out.println("user.name:" + userID);
		txt.setText(userID);

		//ユーザー作業ディレクトリ内サーチ
		String userPath = System.getProperty("user.dir");
		System.out.println("user.dir:" + userPath);
		File dir = new File(userPath);//ユーザー作業ディレクトリ取得
		File []files = dir.listFiles();//その中のファイル群取得
		txt2.setText("");//クリア
		for(int i=0; i < files.length; i++){//テキストエリアへ追加の繰り返し
			txt2.append(files[i].getAbsolutePath() +  "\n");
		}
	}
}

上記をコンパイルして、jarファイル(userinfo_tmp.jar)を作成する操作を示します。 上記操作をD:\workに作成し、そこで行うコマンドライン操作です。

D:\work>javac UserInfo.java

D:\work>jar cfmv userinfo_tmp.jar manifest.txt UserInfo.class
マニフェストが追加されました。
UserInfo.class を追加中です。(入 = 860) (出 = 508)(40% 収縮されました)


D:\work>

なお、上記のjarコマンドを使う前に、次のマニフェストファイル manifest.txtを、D:\workに作成しておく必要があります。

Main-Class: UserInfo
Class-Path: userinfo.jar .

証明用に、D:workにkeytoolで作成したキーストアファイル(.keystore) を用意します。
最後に、次の操作で署名します。

D:\work>jarsigner -keystore .keystore -storepass abc123 -signedjar userinfo.jar userinfo_tmp.jar xyz


警告: 署名者の証明書は 6 か月以内に期限切れになります。

D:\work>

以上で署名したuserinfo.jarが出来上がります。

証明書インポート

上記で作成したアプレットの証明書は、 keytoolで作成したキーストアファイル(.keystore) の中にありますが、それを エクスポートしたuserinfo.cerのファイルを 直接ブラウザにインポートすることで実行できます。
インターネットブラウザの場合の手順を以下に示します。

インターネットエクスプローラの ツール→『オプション』を選択し、 「コンテンツ」タブを選びます。

インポートボタンで ウイザードに従い、 userinfo.cerのファイルを指定します。