| ナビゲーションリンクをスキップ | |
| 印刷ビューの終了 | |
 
			 | 
			Trusted Extensions 開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) | 
1. Trusted Extensions API およびセキュリティーポリシー
9. Solaris Trusted Extensions ラベル API のための試験的な Java バインディング
label_encodings ファイルには、プリンタ出力でセキュリティー情報を出力するのに役立ついくつかの変換が定義されます。ラベル変換は、ページの最上部と最下部に出力されます。処理チャネルなどのその他の変換は、バナーページに表示できます。
次のコード例では、label_to_str() ルーチンはラベルをヘッダーとフッター、警告のセクション、処理チャネルなどの文字列に変換します。第 4 章印刷とラベル APIに示すように、このルーチンは Trusted Extensions 印刷システムによって内部的に使用されます。
#include <stdlib.h>
#include <stdio.h>
#include <tsol/label.h>
int
main()
{
   m_label_t *plabel;
   char *header = NULL;
   char *label = NULL;
   char *caveats = NULL;
   char *channels = NULL;
   plabel = m_label_alloc(MAC_LABEL);
   if (getplabel(plabel) == -1) {
      perror("getplabel");
      exit(1);
   }
   if (label_to_str(plabel, &header, PRINTER_TOP_BOTTOM, DEF_NAMES) != 0) {
      perror("label_to_str: header");
      exit(1);
   }
   if (label_to_str(plabel, &label, PRINTER_LABEL, DEF_NAMES) != 0) {
      perror("label_to_str: label");
      exit(1);
   }
   if (label_to_str(plabel, &caveats, PRINTER_CAVEATS, DEF_NAMES) != 0) {
      perror("label_to_str: caveats");
      exit(1);
   }
   if (label_to_str(plabel, &channels, PRINTER_CHANNELS, DEF_NAMES) != 0) {
      perror("label_to_str: channels");
      exit(1);
   }
   printf("\t\t\t\"%s\"\n\n", header);
   printf("\t\tUnless manually reviewed and downgraded, this output\n");
   printf("\t\tmust be protected at the following label:\n\n");
   printf("\t\t\t\"%s\"\n", label);
   printf("\n\n\n");
   printf("\t\t\"%s\"\n", caveats);
   printf("\t\t\"%s\"\n", channels);
   printf("\n\n");
   printf("\t\t\t\"%s\"\n", header);
   m_label_free(plabel);
   return (0);
}
TS SA SB というプロセスラベルの場合、テキスト出力は次のようになる可能性があります。
            "TOP SECRET"
        Unless manually reviewed and downgraded, this output
        must be protected at the following label:
            "TOP SECRET A B SA SB"
        "(FULL SB NAME) (FULL SA NAME)"
        "HANDLE VIA (CH B)/(CH A) CHANNELS JOINTLY"
            "TOP SECRET"
詳細は、label_encodings(4) のマニュアルページ、『Compartmented Mode Workstation Labeling: Encodings Format 』、および『Solaris Trusted Extensions ラベルの管理』を参照してください。