Oracle Solaris Trusted Extensions Developer's Guide

Preface

The Oracle Solaris Trusted Extensions Developer's Guide describes how to use the application programming interfaces (APIs) to write new trusted applications for systems that are configured with the Trusted Extensions feature of the Oracle Solaris OS. Readers must be familiar with UNIX® programming and understand security policy concepts.


Note –

This SolarisTM release supports systems that use the SPARC® and x86 families of processor architectures. The supported systems appear in the Solaris OS: Hardware Compatibility Lists. This document cites any implementation differences between the platform types.

In this document these x86 related terms mean the following:

For supported systems, see the Solaris OS: Hardware Compatibility Lists.


Note that the example programs in this book focus on the APIs being shown and do not perform error checking. Your applications should perform the appropriate error checking.

How the Trusted Extensions Books Are Organized

The Trusted Extensions documentation set supplements the documentation for the Oracle Solaris release. Review both sets of documentation for a more complete understanding of Trusted Extensions. The Trusted Extensions documentation set consists of the following books.

Book Title 

Topics 

Audience 

Solaris Trusted Extensions Transition Guide

Obsolete. Provides an overview of the differences between Trusted Solaris 8 software, Oracle Solaris software, and Trusted Extensions software. 

For this release, the What's New document for the Oracle Solaris OS provides an overview of Trusted Extensions changes.

All 

Solaris Trusted Extensions Reference Manual

Obsolete. Provides Trusted Extensions man pages for the Solaris 10 11/06 and Solaris 10 8/07 releases of Trusted Extensions. For this release, Trusted Extensions man pages are included with the Oracle Solaris man pages. 

All 

Oracle Solaris Trusted Extensions User’s Guide

Describes the basic features of Trusted Extensions. This book contains a glossary. 

End users, administrators, developers 

Oracle Solaris Trusted Extensions Configuration Guide

Starting with the Solaris 10 5/08 release, describes how to enable and initially configure Trusted Extensions. Replaces Solaris Trusted Extensions Installation and Configuration.

Administrators, developers 

Oracle Solaris Trusted Extensions Administrator’s Procedures

Shows how to perform specific administration tasks. 

Administrators, developers 

Oracle Solaris Trusted Extensions Developer’s Guide

Describes how to develop applications with Trusted Extensions. 

Developers, administrators 

Oracle Solaris Trusted Extensions Label Administration

Provides information about how to specify label components in the label encodings file. 

Administrators 

Compartmented Mode Workstation Labeling: Encodings Format

Describes the syntax used in the label encodings file. The syntax enforces the various rules for well-formed labels for a system. 

Administrators 

How This Book Is Organized

Chapter 1, Trusted Extensions APIs and Security Policy provides an overview of the Trusted Extensions APIs and describes how the security policy is enforced within the system.

Chapter 2, Labels and Clearances describes the data types and the APIs for managing labels on processes and on device objects. This chapter also describes clearances, how a process acquires a sensitivity label, and when label operations require privileges. Guidelines for handling labels are also provided.

Chapter 3, Label Code Examples provides sample code that uses the APIs for labels.

Chapter 4, Printing and the Label APIs uses the Trusted Extensions multilevel printing service as an example of using the label APIs.

Chapter 5, Interprocess Communications provides an overview of how the security policy is applied to process-to-process communications within the same workstation and across the network.

Chapter 6, Trusted X Window System describes the data types and the APIs that enable administrative applications to access and modify security-related X Window System information. This chapter has a section of code examples.

Chapter 7, Label Builder APIs describes the data types and the APIs for creating a graphical user interface (GUI) for building labels and clearances. This chapter has a section of code examples.

Chapter 8, Trusted Web Guard Prototype provides an example of a safe web browsing prototype that isolates a web server and its web content from an Internet attack.

Chapter 9, Experimental Java Bindings for the Solaris Trusted Extensions Label APIs describes an experimental set of JavaTM classes and methods that mirror the label APIs that are provided with the Trusted Extensions software. This chapter also includes a pointer to the source code and build instructions, so you can use these APIs to create label-aware applications.

Appendix A, Programmer's Reference provides information about Trusted Extensions man pages, shared libraries, header files, and abbreviations used in data type names and in interface names. This appendix also provides information about preparing an application for release.

Appendix B, Trusted Extensions API Reference provides programming interface listings, including parameter and return value declarations.

Documentation, Support, and Training

See the following web sites for additional resources:

Oracle Welcomes Your Comments

Oracle welcomes your comments and suggestions on the quality and usefulness of its documentation. If you find any errors or have any other suggestions for improvement, go to http://docs.sun.com and click Feedback. Indicate the title and part number of the documentation along with the chapter, section, and page number, if available. Please let us know if you want a reply.

Oracle Technology Network offers a range of resources related to Oracle software:

Typographic Conventions

The following table describes the typographic conventions that are used in this book.

Table P–1 Typographic Conventions

Typeface 

Meaning 

Example 

AaBbCc123

The names of commands, files, and directories, and onscreen computer output 

Edit your .login file.

Use ls -a to list all files.

machine_name% you have mail.

AaBbCc123

What you type, contrasted with onscreen computer output 

machine_name% su

Password:

aabbcc123

Placeholder: replace with a real name or value 

The command to remove a file is rm filename.

AaBbCc123

Book titles, new terms, and terms to be emphasized 

Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.

Note: Some emphasized items appear bold online.

Shell Prompts in Command Examples

The following table shows the default UNIX system prompt and superuser prompt for shells that are included in the Oracle Solaris OS. Note that the default system prompt that is displayed in command examples varies, depending on the Oracle Solaris release.

Table P–2 Shell Prompts

Shell 

Prompt 

Bash shell, Korn shell, and Bourne shell 

$

Bash shell, Korn shell, and Bourne shell for superuser 

#

C shell 

machine_name%

C shell for superuser 

machine_name#