JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Trusted Extensions 開発者ガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Trusted Extensions API およびセキュリティーポリシー

2.  ラベルと認可上限

3.  ラベルのコード例

4.  印刷とラベル API

5.  プロセス間通信

6.  Trusted X Window System

Trusted X Window System の環境

Trusted X Window System のセキュリティー属性

Trusted X Window System のセキュリティーポリシー

ルートウィンドウ

クライアントウィンドウ

オーバーライド/リダイレクトウィンドウ

キーボード、ポインタ、サーバー制御

選択マネージャー

デフォルトのウィンドウリソース

ウィンドウ間のデータ移動

特権操作と Trusted X Window System

Trusted Extensions X Window System API

X11 のデータ型

属性へのアクセス

ウィンドウラベルへのアクセスと設定

ウィンドウのユーザー ID へのアクセスと設定

ウィンドウプロパティーラベルへのアクセスと設定

ウィンドウプロパティーのユーザー ID へのアクセスと設定

ワークステーションの所有者 ID へのアクセスと設定

X ウィンドウサーバーの認可上限と最下位ラベルの設定

トラステッドパスウィンドウでの作業

スクリーンストライプの高さへのアクセスと設定

ウィンドウの多インスタンス化情報の設定

X11 ラベルクリッピングインタフェースでの作業

Trusted X Window System インタフェースの使用

ウィンドウ属性の取得

フォントリストによるウィンドウラベルの変換

ウィンドウラベルの取得

ウィンドウラベルの設定

ウィンドウのユーザー ID の取得

X ウィンドウサーバーワークステーションの所有者 ID の取得

7.  ラベルビルダー API

8.  信頼できる Web ガードプロトタイプ

9.  Solaris Trusted Extensions ラベル API のための試験的な Java バインディング

A.  プログラマーのリファレンス

B.  Trusted Extensions API リファレンス

索引

Trusted Extensions X Window System API

Trusted X11 API を使用するには、次のヘッダーファイルが必要です。

#include <X11/extensions/Xtsol.h>

Trusted X11 の例は、-lXtsol および -ltsol ライブラリオプションを使用してコンパイルします。

X11 ラベルクリッピング API を使用するには、次のヘッダーファイルが必要です。

#include <Dt/label_clipping.h>

ラベルクリッピングの例は、-lDtTsol および -ltsol ライブラリオプションを使用してコンパイルします。

次のセクションでは、Trusted X11 インタフェースおよび X11 ラベルクリッピングインタフェース用のデータ型と宣言について説明します。

X11 のデータ型

次のデータ型が X11/extensions/Xtsol.h で定義されていて、Trusted Extensions X Window System API に使用されます。

属性へのアクセス

リソース、プロパティー、およびクライアント属性へのアクセスには次のルーチンが使用されます。

Status XTSOLgetResAttributes(Display *display, XID object, ResourceType type, XTSOLResAttributes *winattrp);

このルーチンは、winattrp 内の、ウィンドウ ID のリソース属性を返します。XTSOLgetResAttributes(3XTSOL) のマニュアルページを参照してください。

Status XTSOLgetPropAttributes(Display *display, Window window, Atom property, XTSOLPropAttributes *propattrp);

このルーチンは、propattrp 内の、ウィンドウ ID によって決まるプロパティーのプロパティー属性を返します。XTSOLgetPropAttributes(3XTSOL)のマニュアルページを参照してください。

Status XTSOLgetClientAttributes(Display *display, XID windowid, XTsolClientAttributes *clientattrp);

このルーチンは clientattrp 内のクライアント属性を返します。XTSOLgetClientAttributes(3XTSOL) のマニュアルページを参照してください。

ウィンドウラベルへのアクセスと設定

ウィンドウの機密ラベルの取得と設定には、XTSOLgetResLabel() および XTSOLsetResLabel() ルーチンが使用されます。

Status XTSOLgetResLabel(Display *display, XID object, ResourceType type, m_label_t *sl);

このルーチンは、ウィンドウの機密ラベルを取得します。XTSOLgetResLabel(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetResLabel(Display *display, XID object, ResourceType type, m_label_t *sl);

このルーチンは、ウィンドウの機密ラベルを設定します。XTSOLsetResLabel(3XTSOL) のマニュアルページを参照してください。

ウィンドウのユーザー ID へのアクセスと設定

ウィンドウのユーザー ID の取得と設定には、XTSOLgetResUID() および XTSOLsetResUID() ルーチンが使用されます。

Status XTSOLgetResUID(Display *display, XID object, ResourceType type, uid_t *uidp);

このルーチンは、ウィンドウのユーザー ID を取得します。XTSOLgetResUID(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetResUID(Display *display, XID object, ResourceType type, uid_t *uidp);

このルーチンは、ウィンドウのユーザー ID を設定します。XTSOLsetResUID(3XTSOL) のマニュアルページを参照してください。

ウィンドウプロパティーラベルへのアクセスと設定

ウィンドウ ID によって決まるプロパティーの機密ラベルの取得と設定には、XTSOLgetPropLabel() および XTSOLsetPropLabel() ルーチンが使用されます。

Status XTSOLgetPropLabel(Display *display, Window window, Atom property, m_label_t *sl);

このルーチンは、ウィンドウ ID によって決まるプロパティーの機密ラベルを取得します。XTSOLgetPropLabel(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetPropLabel(Display *display, Window window, Atom property, m_label_t *sl);

このルーチンは、ウィンドウ ID によって決まるプロパティーの機密ラベルを設定します。XTSOLsetPropLabel(3XTSOL) のマニュアルページを参照してください。

ウィンドウプロパティーのユーザー ID へのアクセスと設定

ウィンドウ ID によって決まるプロパティーのユーザー ID の取得と設定には、XTSOLgetPropUID() および XTSOLsetPropUID() ルーチンが使用されます。

Status XTSOLgetPropUID(Display *display, Window window, Atom property, uid_t *uidp);

このルーチンは、ウィンドウ ID によって決まるプロパティーのユーザー ID を取得します。XTSOLgetPropUID(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetPropUID(Display *display, Window window, Atom property, uid_t *uidp);

このルーチンは、ウィンドウ ID によって決まるプロパティーのユーザー ID を設定します。XTSOLsetPropUID(3XTSOL) のマニュアルページを参照してください。

ワークステーションの所有者 ID へのアクセスと設定

ワークステーションサーバーの所有者のユーザー ID の取得と設定には、XTSOLgetWorkstationOwner() および XTSOLsetWorkstationOwner() ルーチンが使用されます。


注 - XTSOLsetWorkstationOwner() ルーチンはウィンドウマネージャーによってのみ使用されます。


Status XTSOLgetWorkstationOwner(Display *display, uid_t *uidp);

このルーチンは、ワークステーションサーバーの所有者のユーザー ID を取得します。XTSOLgetWorkstationOwner(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetWorkstationOwner(Display *display, uid_t *uidp);

このルーチンは、ワークステーションサーバーの所有者のユーザー ID を設定します。XTSOLsetWorkstationOwner(3XTSOL) のマニュアルページを参照してください。

X ウィンドウサーバーの認可上限と最下位ラベルの設定

X ウィンドウサーバーのセッションの高位認可上限とセッションの最下位ラベルの設定には、XTSOLsetSessionHI() および XTSOLsetSessionLO() ルーチンが使用されます。セッションの高位認可上限は、ラベルビルダー GUI から選択でき、ユーザーの範囲内にある必要があります。セッションの最下位ラベルは、マルチレベルセッションの場合のユーザーの最下位ラベルと同じです。


注 - これらのインタフェースはウィンドウマネージャーによってのみ使用すべきです。


Status XTSOLsetSessionHI(Display *display, m_label_t *sl);

セッションの高位認可上限は、ログイン時にワークステーション所有者の認可上限から設定されます。セッションの高位認可上限は、所有者の認可上限およびマシンモニターのラベル範囲の上限よりも優位であってはいけません。これが変更されると、ウィンドウサーバーの認可上限よりも上位の機密ラベルで動作しているクライアントからの接続リクエストは、特権がなければ拒否されます。XTSOLsetSessionHI(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetSessionLO(Display *display, m_label_t *sl);

セッションの最下位ラベルは、ログイン時にワークステーション所有者の最下位ラベルから設定されます。セッションの最下位ラベルは、管理者によって設定されたそのユーザーの最下位ラベルおよびマシンモニターのラベル範囲の下限より優位である必要があります。この設定が変更されると、ウィンドウサーバーの機密ラベルよりも下位の機密ラベルで動作しているクライアントからの接続リクエストは、特権がなければ拒否されます。XTSOLsetSessionLO(3XTSOL) のマニュアルページを参照してください。

トラステッドパスウィンドウでの作業

指定されたウィンドウをトラステッドパスウィンドウにしたり、指定されたウィンドウがトラステッドパスウィンドウであるかどうかをテストしたりする場合は、XTSOLMakeTPWindow() および XTSOLIsWindowTrusted() ルーチンが使用されます。

Status XTSOLMakeTPWindow(Display *display, Window *w);

このルーチンは、指定されたウィンドウをトラステッドパスウィンドウにします。XTSOLMakeTPWindow(3XTSOL) のマニュアルページを参照してください。

Bool XTSOLIsWindowTrusted(Display *display, Window *window);

このルーチンは、指定されたウィンドウがトラステッドパスウィンドウであるかどうかをテストします。XTSOLIsWindowTrusted(3XTSOL) のマニュアルページを参照してください。

スクリーンストライプの高さへのアクセスと設定

スクリーンストライプの高さの取得と設定には、XTSOLgetSSHeight() および XTSOLsetSSHeight() ルーチンが使用されます。


注 - これらのインタフェースはウィンドウマネージャーによってのみ使用すべきです。


Status XTSOLgetSSHeight(Display *display, int screen_num, int *newHeight);

このルーチンはスクリーンストライプの高さを取得します。XTSOLgetSSHeight(3XTSOL) のマニュアルページを参照してください。

Status XTSOLsetSSHeight(Display *display, int screen_num, int newHeight);

このルーチンはスクリーンストライプの高さを設定します。スクリーンストライプがなくなったり、非常に大きなスクリーンストライプになったりしないように注意してください。XTSOLsetSSHeight(3XTSOL) のマニュアルページを参照してください。

ウィンドウの多インスタンス化情報の設定

Status XTSOLsetPolyInstInfo(Display *display, m_label_t sl, uid_t *uidp, int enabled);

XTSOLsetPolyInstInfo() ルーチンを使用すると、クライアントは、そのクライアントとは異なる機密ラベルで、プロパティーからプロパティー情報を取得できます。最初の呼び出しで、目的の機密ラベルとユーザー ID を指定し、enabled プロパティーを True に設定します。次に、XTSOLgetPropAttributes()XTSOLgetPropLabel()、または XTSOLgetPropUID() を呼び出します。最後に、enabled プロパティーを False に設定して XTSOLsetPolyInstInfo() ルーチンをふたたび呼び出します。XTSOLsetPolyInstInfo(3XTSOL) のマニュアルページを参照してください。

X11 ラベルクリッピングインタフェースでの作業

int label_to_str(const m_label_t *label, char **string, const m_label_str_t conversion_type, uint_t flags);

label_to_str() ルーチンは、機密ラベルまたは認可上限を文字列に変換します。label_to_str(3TSOL) のマニュアルページを参照してください。