KRB5_MK_REQ(3) | FreeBSD Library Functions Manual | KRB5_MK_REQ(3) |
名称
krb5_mk_req, krb5_mk_req_exact, krb5_mk_req_extended, krb5_rd_req, krb5_rd_req_with_keyblock, krb5_mk_rep, krb5_mk_rep_exact, krb5_mk_rep_extended, krb5_rd_rep, krb5_build_ap_req, krb5_verify_ap_req — アプリケーション認証要求を作成して読み込むライブラリ
Kerberos 5 ライブラリ (libkrb5, -lkrb5)書式
#include < krb5.h> krb5_error_code
krb5_mk_req( krb5_context context, krb5_auth_context *auth_context, const krb5_flags ap_req_options, const char *service, const char *hostname, krb5_data *in_data, krb5_ccache ccache, krb5_data *outbuf);
krb5_error_code
krb5_mk_req_extended( krb5_context context, krb5_auth_context *auth_context, const krb5_flags ap_req_options, krb5_data *in_data, krb5_creds *in_creds, krb5_data *outbuf);
krb5_error_code
krb5_rd_req( krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, krb5_keytab keytab, krb5_flags *ap_req_options, krb5_ticket **ticket);
krb5_error_code
krb5_build_ap_req( krb5_context context, krb5_enctype enctype, krb5_creds *cred, krb5_flags ap_options, krb5_data authenticator, krb5_data *retdata);
krb5_error_code
krb5_verify_ap_req( krb5_context context, krb5_auth_context *auth_context, krb5_ap_req *ap_req, krb5_const_principal server, krb5_keyblock *keyblock, krb5_flags flags, krb5_flags *ap_req_options, krb5_ticket **ticket);
解説
このマニュアルページに書かれた関数は、Kerberos クライアントとサーバの間の交換を容易にする関数を文書化しています。それらは、クライアントとサーバの間の認証交換に使用される中心となる関数です。krb5_mk_req と krb5_mk_req_extended は、クライアント / サーバ交換で最初のパケットとしてクライアントからサーバに送信される Kerberos メッセージ KRB_AP_REQ を作成します。サーバに送信されるべきである結果は、 outbuf に格納されます。
auth_context は、 krb5_auth_con_init() で割り付けられるか、または NULL を渡されるべきで、NULL で渡された場合、内部的に割り当てられて、解放されます。
入力データ in_data は、チェックサムが計算され、チェックサムは、メッセージでサーバに転送されます。
次のフラグの 1 つ以上で ap_req_options を設定することができます:
- AP_OPTS_USE_SESSION_KEY
- ユーザのために使用される、ユーザ認証の要求を作成するとき、セッションキーを使用します。
- AP_OPTS_MUTUAL_REQUIRED
- 相互の要求された認証として要求をマークするので、受信側は、相互の認証パケットを返します。
krb5_rd_req は、 inbuf で AP_REQ を読み込み、内容を検証して、抽出します。 server が指定されるなら、そのサーバは、 keytab から取って来られ、無条件に使用されます。 server が NULL であるなら、一致するプリンシパルのために keytab を検索します。
keytab 引数は、プリンシパルを受信するためにどんな keytab を検索するかを指定します。引数 ap_req_options と ticket は、内容を返します。
AS-REQ が、ユーザからユーザへの要求であるとき、 keytab または principal のどちらも使用されず、代わりに、 krb5_rd_req() は、セッションキーが auth_context に設定されると予想します。
krb5_verify_ap_req と krb5_build_ap_req の両方は、APXREQ メッセージを組み立てて検証し、外部のコードによって使用されるべきではありません。
August 27, 2005 | HEIMDAL |