KRB5_MK_REQ(3)           BSD Library Functions Manual           KRB5_MK_REQ(3)

[1mNAME[0m
     [1mkrb5_mk_req[22m, [1mkrb5_mk_req_exact[22m, [1mkrb5_mk_req_extended[22m, [1mkrb5_rd_req[22m,
     [1mkrb5_rd_req_with_keyblock[22m, [1mkrb5_mk_rep[22m, [1mkrb5_mk_rep_exact[22m,
     [1mkrb5_mk_rep_extended[22m, [1mkrb5_rd_rep[22m, [1mkrb5_build_ap_req[22m, [1mkrb5_verify_ap_req[0m
     -- create and read application authentication request

[1mLIBRARY[0m
     Kerberos 5 Library (libkrb5, -lkrb5)

[1mSYNOPSIS[0m
     [1m#include <krb5.h>[0m

     [4mkrb5_error_code[0m
     [1mkrb5_mk_req[22m([4mkrb5_context[24m [4mcontext[24m, [4mkrb5_auth_context[24m [4m*auth_context[24m,
         [4mconst[24m [4mkrb5_flags[24m [4map_req_options[24m, [4mconst[24m [4mchar[24m [4m*service[24m,
         [4mconst[24m [4mchar[24m [4m*hostname[24m, [4mkrb5_data[24m [4m*in_data[24m, [4mkrb5_ccache[24m [4mccache[24m,
         [4mkrb5_data[24m [4m*outbuf[24m);

     [4mkrb5_error_code[0m
     [1mkrb5_mk_req_extended[22m([4mkrb5_context[24m [4mcontext[24m,
         [4mkrb5_auth_context[24m [4m*auth_context[24m, [4mconst[24m [4mkrb5_flags[24m [4map_req_options[24m,
         [4mkrb5_data[24m [4m*in_data[24m, [4mkrb5_creds[24m [4m*in_creds[24m, [4mkrb5_data[24m [4m*outbuf[24m);

     [4mkrb5_error_code[0m
     [1mkrb5_rd_req[22m([4mkrb5_context[24m [4mcontext[24m, [4mkrb5_auth_context[24m [4m*auth_context[24m,
         [4mconst[24m [4mkrb5_data[24m [4m*inbuf[24m, [4mkrb5_const_principal[24m [4mserver[24m,
         [4mkrb5_keytab[24m [4mkeytab[24m, [4mkrb5_flags[24m [4m*ap_req_options[24m,
         [4mkrb5_ticket[24m [4m**ticket[24m);

     [4mkrb5_error_code[0m
     [1mkrb5_build_ap_req[22m([4mkrb5_context[24m [4mcontext[24m, [4mkrb5_enctype[24m [4menctype[24m,
         [4mkrb5_creds[24m [4m*cred[24m, [4mkrb5_flags[24m [4map_options[24m, [4mkrb5_data[24m [4mauthenticator[24m,
         [4mkrb5_data[24m [4m*retdata[24m);

     [4mkrb5_error_code[0m
     [1mkrb5_verify_ap_req[22m([4mkrb5_context[24m [4mcontext[24m, [4mkrb5_auth_context[24m [4m*auth_context[24m,
         [4mkrb5_ap_req[24m [4m*ap_req[24m, [4mkrb5_const_principal[24m [4mserver[24m,
         [4mkrb5_keyblock[24m [4m*keyblock[24m, [4mkrb5_flags[24m [4mflags[24m,
         [4mkrb5_flags[24m [4m*ap_req_options[24m, [4mkrb5_ticket[24m [4m**ticket[24m);

[1mDESCRIPTION[0m
     The functions documented in this manual page document the functions that
     facilitates the exchange between a Kerberos client and server.  They are
     the core functions used in the authentication exchange between the client
     and the server.

     The [1mkrb5_mk_req [22mand [1mkrb5_mk_req_extended [22mcreates the Kerberos message
     KRB_AP_REQ that is sent from the client to the server as the first packet
     in a client/server exchange.  The result that should be sent to server is
     stored in [4moutbuf[24m.

     [4mauth_context[24m should be allocated with [1mkrb5_auth_con_init[22m() or NULL passed
     in, in that case, it will be allocated and freed internally.

     The input data [4min_data[24m will have a checksum calculated over it and check-
     sum will be transported in the message to the server.

     [4map_req_options[24m can be set to one or more of the following flags:

     AP_OPTS_USE_SESSION_KEY
             Use the session key when creating the request, used for user to
             user authentication.

     AP_OPTS_MUTUAL_REQUIRED
             Mark the request as mutual authenticate required so that the re-
             ceiver returns a mutual authentication packet.

     The [1mkrb5_rd_req [22mread the AP_REQ in [4minbuf[24m and verify and extract the con-
     tent.  If [4mserver[24m is specified, that server will be fetched from the
     [4mkeytab[24m and used unconditionally.  If [4mserver[24m is NULL, the [4mkeytab[24m will be
     search for a matching principal.

     The [4mkeytab[24m argument specifies what keytab to search for receiving princi-
     pals.  The arguments [4map_req_options[24m and [4mticket[24m returns the content.

     When the AS-REQ is a user to user request, neither of [4mkeytab[24m or [4mprincipal[0m
     are used, instead [1mkrb5_rd_req[22m() expects the session key to be set in
     [4mauth_context[24m.

     The [1mkrb5_verify_ap_req [22mand [1mkrb5_build_ap_req [22mboth constructs and verify
     the AP_REQ message, should not be used by external code.

[1mSEE ALSO[0m
     krb5(3), krb5.conf(5)

HEIMDAL                         August 27, 2005                        HEIMDAL
