EN JA
GSS_EXPORT_SEC_CONTEXT(3)
GSS_EXPORT_SEC_CONTEXT(3) Programmer's Manual GSS_EXPORT_SEC_CONTEXT(3)

名称

gss_export_sec_contextセキュリティコンテキストを別のプロセスに転送する

書式

#include < gssapi/gssapi.h>

OM_uint32
gss_export_sec_context( OM_uint32 *minor_status, gss_ctx_id_t *context_handle, gss_buffer_t interprocess_token);

解説

複数のプロセスの間の動作の共有のサポートを行います。このルーチンは、単一のプロセスが着信接続要求を受信するアプリケーションで、コンテキストアクセプタによって通常使用され、それらの上でセキュリティコンテキストを受け付けて、次に、確立したコンテキストをメッセージ交換のために 1 つ以上の別のプロセスに渡します。 gss_export_sec_context() は、呼び出しプロセスのためのセキュリティコンテキストを非活性化し、別のプロセスで gss_import_sec_context() に渡されるとき、2 番目のプロセスでコンテキストを再活性化するインタプロセストークンを作成します。与えられたコンテキストの単一のインスタンス化だけが、どの時点においても、活性化されます。エクスポートしているセキュリティコンテキストにアクセスするコンテキストエクスポータによるその後の試みは、失敗します。

実装は、インタプロセストークンがローカルセキュリティポリシの機能として、または実装決定の結果として、インポートされる、プロセスのセットを抑制します。例えば、いくつかの実装は、同じアカウントの元で実行されるか、または同じプロセスグループの一部であるプロセスの間でのみ渡されるコンテキストを抑制します。

インタプロセストークンは、セキュリティ機密情報 (例えば、暗号キー) を含むことができます。メカニズムがインタプロセストークンの中にそのような機密情報を置くのを避けるか、またはそれをアプリケーションに返す前にトークンを暗号化することが奨励されますが、典型的なオブジェクトライブラリ GSS-API 実装では、これは可能でないかもしれません。したがって、アプリケーションは、インタプロセストークンを保護することに注意して、トークンが転送される任意のプロセスが信頼できることを確実にしなければなりません。

インタプロセストークンの作成が成功するなら、実装は、セキュリティコンテキストに関連しているすべてのプロセス全体のリソースを割り付け解放して、 context_handle を GSS_C_NO_CONTEXT に設定します。セキュリティコンテキストのエクスポートを終了するのを不可能にするエラーのイベントで、実装は、インタプロセストークンを返してはいけなくて、 context_handle パラメータによって参照されるセキュリティコンテキストを変更しない状態のままとするように努力するべきです。これが不可能であるなら、また、 context_handle パラメータを GSS_C_NO_CONTEXT に設定される場合には、セキュリティコンテキストを削除するための実装が許可されます。

パラメータ

minor_status
メカニズム特有のステータスコード。
context_handle
転送されるコンテキストを識別するコンテキストハンドル。
interprocess_token
ターゲットプロセスに転送されるトークン。このトークンに関連している記憶域は、 gss_release_buffer() への呼び出しで使用された後に、アプリケーションによって解放されなければなりません。

戻り値

GSS_S_COMPLETE
成功して終了した
GSS_S_CONTEXT_EXPIRED
コンテキストは期限が切れました
GSS_S_NO_CONTEXT
コンテキストが無効でした
GSS_S_UNAVAILABLE
操作は、サポートされていません

規格

RFC 2743
Generic Security Service Application Program Interface Version 2, Update 1
RFC 2744
Generic Security Service API Version 2 : C-bindings

歴史

gss_export_sec_context のマニュアルページは、 FreeBSD 7.0 ではじめて登場しました。

作者

John Wray, Iris Associates

COPYRIGHT

Copyright (C) The Internet Society (2000). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

January 26, 2010 FreeBSD