The Java language is an untapped resource for creating label-aware applications that run in secure, multilevel arenas. These experimental Java bindings provide a foundation on which to develop more applications, such as system audit log generation and system resource controls.
Adding platform services to the Java environment will enable Java applications to handle sensitive multilevel data.
Trusted Extensions provides label services through the label daemon, labeld. This daemon is available to processes that run in the global zone and in labeled zones.
The Java bindings described in this chapter are Java Native Interface (JNITM) implementations of some of the Trusted Extensions label APIs. The experimental JNI code calls the Trusted Extensions label library functions to extend some of the label functionality to the Java language. Constructors and methods in these Java classes call private JNI interfaces, written in C, that in turn call the Trusted Extensions APIs. For example, the SolarisLabel.dominates method calls a private JNI interface written in C that calls the bldominates() routine. These experimental Java bindings have been developed using Java 2 Platform, Standard Edition 5.0. For more information about JNI, see Java Native Interface Documentation.
You can download this experimental code from the Trusted Extensions project page of the OpenSolarisTM web site.