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 AssociatesCOPYRIGHT
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 |