GSS_ACQUIRE_CRED(3) | Programmer's Manual | GSS_ACQUIRE_CRED(3) |
名称
gss_acquire_cred — 前もって存在している資格証明のための GSS-API の資格証明のハンドルを取得する書式
#include < gssapi/gssapi.h> OM_uint32
gss_acquire_cred( OM_uint32 *minor_status, const gss_name_t desired_name, OM_uint32 time_req, const gss_OID_set desired_mechs, gss_cred_usage_t cred_usage, gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs, OM_uint32 *time_rec);
解説
アプリケーションは、名前によって前もって存在する資格証明のためのハンドルを取得できます。 GSS-API 実装は、権限のない呼び出し側が、それらが資格を与えられない資格証明を獲得することを防ぐために、このルーチンの呼び出し側でローカルのアクセス制御ポリシを強制しなければなりません。このルーチンは、そのような機能が単に既存の資格証明へのハンドルを獲得するよりむしろ新しい資格証明の作成に伴って生じるような、"ネットワークへのログイン"機能を提供することを目的としていません。必要であるなら、そのような機能は、API の実装特有の拡張と定義されるべきです。desired_name が GSS_C_NO_NAME であるなら、呼び出しは、 (cred_usage が GSS_C_INITIATE または GSS_C_BOTH であるなら) gss_init_sec_context() または (cred_usage が GSS_C_ACCEPT または GSS_C_BOTH であるなら) gss_accept_sec_context() に渡されるとき、デフォルトの振る舞いを呼び出す資格証明のハンドルのための要求として解釈されます。
メカニズムは、 desired_mechs パラメータを尊重して、要求されたメカニズムのみで使用するために適切な資格証明を返すべきです。これの例外は、複数のメカニズムによって 1 つの基本的な資格証明の要素を共有することができる場合です。この場合、資格証明の要素が使用されているすべてのメカニズムを実装が、示すことが許されています。 desired_mechs が空の設定であるなら、振る舞いは、未定義です。
実装が、システムログインプロセスから GSS-API 開始プログラムの資格証明を得るメカニズム特有の方法を提供しそうであるので、このルーチンは、主としてコンテキストアクセプタによって使用されると予想されます。したがって、いくつかの実装は、 GSS_C_NO_NAME 以外の任意の名前のための gss_acquire_cred() を通して、 GSS_C_INITIATE または GSS_C_BOTH の資格証明の取得をサポートしないか、または有効な資格証明への gss_inquire_cred() またはアクティブコンテキストへの gss_inquire_context() のいずれかを適用することによって作成された名前をサポートしません。
資格証明の取得がメカニズムのために時間がかかるなら、メカニズムは、(例えば、 gss_init_sec_context() または gss_accept_sec_context() によって) 資格証明が必要とされるまで、実際の獲得を遅らせるために選択されます。そのようなメカニズム特有の実装の決定は、呼び出すアプリケーションに見えないようにするべきです。したがって、 gss_inquire_cred() の呼び出しに直ちに続く gss_acquire_cred() の呼び出しは、有効な資格証明データを返さなければなりません、したがって、延期された資格証明の獲得のオーバヘッドを招きます。
パラメータ
- desired_name
- 資格証明が取得されるべきであるプリンシパルの名前。
- time_req
- 資格証明が有効なままで残るべきである秒数。資格証明には最大の許可された生存期間を持つようにする要求のために、 GSS_C_INDEFINITE を指定します。
- desired_mechs
- 使用される基本的なセキュリティメカニズムの設定。 GSS_C_NO_OID_SET は、実装特有のデフォルトを得るために使用されます。
- cred_usage
-
- GSS_C_BOTH
- 資格証明は、セキュリティコンテキストを開始するか、または受け付けるために使用されます。
- GSS_C_INITIATE
- 資格証明は、セキュリティコンテキストを開始するためだけに使用されます。
- GSS_C_ACCEPT
- 資格証明は、セキュリティコンテキストを受け付けるためにだけに使用されます。
- output_cred_handle
- 返された資格証明ハンドル。この資格証明ハンドルに関連しているリソースは、 gss_release_cred() への呼び出しで使用した後にアプリケーションによって解放されなければなりません。
- actual_mechs
- 資格証明が有効であるメカニズムの設定。返された OID セットに関連している記憶域は、 gss_release_oid_set() への呼び出しで使用した後にアプリケーションによって解放されなければなりません。必要でないなら、 NULL を指定します。
- time_rec
- 返された資格証明が有効なままで残っている実際の秒数。実装が資格証明の期限切れをサポートしないなら、値 GSS_C_INDEFINITE が返されます。必要でないなら、NULL を指定します。
- minor_status
- メカニズム特有のステータスコード。
戻り値
- GSS_S_COMPLETE
- 成功して終了した
- GSS_S_BAD_MECH
- 利用可能でないメカニズムが要求された。
- GSS_S_BAD_NAMETYPE
- desired_name パラメータの中に含まれたタイプはサポートされていません。
- GSS_S_BAD_NAME
- desired_name パラメータに供給された値が、不正な形式です。
- GSS_S_CREDENTIALS_EXPIRED
- 資格証明の期限が切れているので、それらを獲得することができませんでした。
- GSS_S_NO_CRED
- 資格証明が、指定された名前で見つけられませんでした。
関連項目
gss_init_sec_context(3), gss_accept_sec_context(3), gss_inquire_cred(3), gss_inquire_context(3), gss_release_cred(3), gss_release_oid_set(3)規格
- RFC 2743
- Generic Security Service Application Program Interface Version 2, Update 1
- RFC 2744
- Generic Security Service API Version 2 : C-bindings
歴史
gss_acquire_cred のマニュアルページは、 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 |