EN JA
GSS_ACQUIRE_CRED(3)
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
資格証明が、指定された名前で見つけられませんでした。

規格

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