Solaris Trusted Extensions 開発ガイド

Java バインディングの概要

Java 言語は、セキュリティー保護されたマルチレベル領域で実行されるラベル対応アプリケーションの作成では、未開発のリソースです。これらの実験的 Java バインディングにより、システム監査ログの生成やシステムリソースの制御など、より多くのアプリケーションを開発するための基盤が提供されます。

Java 環境にプラットフォームサービスを追加すると、Java アプリケーションでマルチレベルの機密データを処理できるようになります。

Solaris Trusted Extensions では、ラベルデーモン labeld を介してラベルサービスが提供されます。このデーモンは、大域ゾーンおよびラベル付きゾーンで実行されるプロセスに使用できます。

この章で説明する Java バインディングは、一部の Solaris Trusted Extensions ラベル API の Java Native Interface (JNITM) 実装です。実験的 JNI コードで Solaris Trusted Extensions ラベルのライブラリ関数を呼び出して、ラベル機能の一部を Java 言語に拡張します。これらの Java クラスのコンストラクタおよびメソッドはC で記述された非公開 JNI インタフェースを呼び出し、呼び出された非公開 JNI インタフェースは Trusted Extensions API を呼び出します。たとえば、SolarisLabel.dominates メソッドで、C で記述された専用 JNI インターフェースを呼び出し、これを使用して bldominates() ルーチンを呼び出します。このような実験的 Java バインディングは、Java 2 Platform, Standard Edition 5.0 を使用して開発されました。JNI の詳細は、Java Native Interface のマニュアルを参照してください。

この実験的コードは、OpenSolarisTMWeb サイト の Solaris Trusted Extensions プロジェクトのページからダウンロードできます。