Go to main content
Oracle® Solaris 11 セキュリティー開発者ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

GSS-API データ型と値

    このセクションでは、さまざまなタイプの GSS-API データ型と値について説明します。gss_cred_id_t または gss_name_t などのいくつかのデータ型はユーザーに不透明です。これらのデータ型については説明する必要がありません。このセクションでは、次の項目について説明します。

  • 基本 GSS-API データ型 – OM_uint32、gss_buffer_desc、gss_OID_desc、gss_OID_set_desc_struct、gss_channel_bindings_struct の各データ型の定義を示します。

  • 名前型 – 名前を指定するときに GSS-API が認識する各種の名前の形式を示します。

  • チャネルバインディングのアドレス型gss_channel_bindings_t 構造体の initiator_addrtype および acceptor_addrtype の各フィールドで使用できるさまざまな値を示します。

基本 GSS-API データ型

このセクションでは、GSS-API で使用されるデータ型について説明します。

OM_uint32

OM_uint32 はプラットフォームに依存しない 32 ビットの符号なし整数です。

gss_buffer_desc

gss_buffer_t ポインタを含む gss_buffer_desc の定義は、次の書式で記述されます。

typedef struct gss_buffer_desc_struct {
        size_t length;
        void *value;
} gss_buffer_desc, *gss_buffer_t;

gss_OID_desc

gss_OID ポインタを含む gss_OID_desc の定義は、次の書式で記述されます。

typedef struct gss_OID_desc_struct {
        OM_uint32 length;
        void*elements;
} gss_OID_desc, *gss_OID;

gss_OID_set_desc

gss_OID_set ポインタを含む gss_OID_set_desc の定義は、次の書式で記述されます。

typedef struct gss_OID_set_desc_struct  {
        size_t  count;
        gss_OID elements;
} gss_OID_set_desc, *gss_OID_set;

gss_channel_bindings_struct

gss_channel_bindings_struct 構造体と gss_channel_bindings_t ポインタの定義は、次の書式で記述されます。

typedef struct gss_channel_bindings_struct {
        OM_uint32 initiator_addrtype;
        gss_buffer_desc initiator_address;
        OM_uint32 acceptor_addrtype;
        gss_buffer_desc acceptor_address;
        gss_buffer_desc application_data;
} *gss_channel_bindings_t;

名前型

名前型は、関連する名前の形式を示しています。名前と名前型の詳細は、 GSS-API における名前および GSS-API の OIDを参照してください。GSS-API は、次の表に示す gss_OID 名前型をサポートしています。

GSS_C_NO_NAME

シンボリック名 GSS_C_NO_NAME は、名前の転送で提供される値がないことを示すパラメータ値として推奨されます。

GSS_C_NO_OID

実際のオブジェクト識別子ではなく、NULL の入力値に相当します。この値を指定した場合、関連する名前がメカニズムに固有なデフォルトの印刷可能な構文に基づいて解釈されることを示します。

GSS_C_NT_ANONYMOUS

匿名を確認する方法。この値と比較することによって、名前が匿名の主体を参照するかどうかをメカニズムに依存しない方法で確認できます。

GSS_C_NT_EXPORT_NAME

gss_export_name() 関数でエクスポートされた名前。

GSS_C_NT_HOSTBASED_SERVICE

ホストに関連付けられたサービスを表します。この名前型は、サービス (service) とホスト名 (hostname) の 2 つの要素からなり、service@hostname の書式で記述されます。

GSS_C_NT_MACHINE_UID_NAME

ローカルシステム上のユーザーの、数値によるユーザー識別子を示します。この値の解釈方法は OS に固有です。gss_import_name() 関数はこの UID をユーザー名に解釈処理し、ユーザー名形式として扱います。

GSS_C_NT_STRING_STRING_UID_NAME

ローカルシステム上のユーザーの数値によるユーザー識別子を表す数字文字列を示します。この値の解釈方法は OS に固有です。この名前型はマシン UID 形式に似ていますが、バッファーにはユーザー ID を表す文字が入っています。

GSS_C_NT_USER_NAME

ローカルシステム上の指定されたユーザー。この値の解釈方法は OS に固有です。この値は username の書式で記述されます。

チャネルバインディングのアドレス型

次の表に、gss_channel_bindings_struct 構造体の initiator_addrtype フィールドと acceptor_addrtype フィールドで使用できる値を示します。この 2 つのフィールドは、名前を受け取ることができる形式 (ARPAnet IMP アドレスや AppleTalk アドレスなど) を示します。チャネルバインディングについては、GSS-API におけるチャネルバインディングの使用を参照してください。

表 6  チャネルバインディングのアドレス型
フィールド
値 (10 進数)
アドレス型
GSS_C_AF_UNSPEC
0
未定のアドレス型
GSS_C_AF_LOCAL
1
ホスト - ローカル
GSS_C_AF_INET
2
インターネットアドレス型 (IP など)
GSS_C_AF_IMPLINK
3
ARPAnet IMP
GSS_C_AF_PUP
4
pup プロトコル (BSP など)
GSS_C_AF_CHAOS
5
MIT CHAOS プロトコル
GSS_C_AF_NS
6
XEROX NS
GSS_C_AF_NBS
7
nbs
GSS_C_AF_ECMA
8
ECMA
GSS_C_AF_DATAKIT
9
データキットプロトコル
GSS_C_AF_CCITT
10
CCITT
GSS_C_AF_SNA
11
IBM SNA
GSS_C_AF_DECnet
12
DECnet
GSS_C_AF_DLI
13
ダイレクトデータリンクインタフェース
GSS_C_AF_LAT
14
LAT
GSS_C_AF_HYLINK
15
NSC ハイパーチャネル
GSS_C_AF_APPLETALK
16
AppleTalk
GSS_C_AF_BSC
17
BISYNC
GSS_C_AF_DSS
18
分散システムサービス
GSS_C_AF_OSI
19
OSI TP4
GSS_C_AF_X25
21
X.25
GSS_C_AF_NULLADDR
255
アドレスは指定されていません