Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
gssapi(3)		     Heimdal GSS-API library		       gssapi(3)

NAME
     gssapi - Heimdal GSS-API functions

SYNOPSIS
   Functions
     GSSAPI_LIB_FUNCTION    OM_uint32	GSSAPI_LIB_CALL   gss_add_oid_set_member
	 (OM_uint32  *minor_status,  const   gss_OID   member_oid,   gss_OID_set
	 *oid_set)
     GSSAPI_LIB_FUNCTION  OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov (OM_uint32 *mi-
	 nor_status, gss_ctx_id_t context_handle, int  conf_req_flag,  gss_qop_t
	 qop_req, int *conf_state, gss_iov_buffer_desc *iov, int iov_count)
     GSSAPI_LIB_FUNCTION  OM_uint32  GSSAPI_LIB_CALL  gss_unwrap_iov  (OM_uint32
	 *minor_status, gss_ctx_id_t context_handle, int *conf_state,  gss_qop_t
	 *qop_state, gss_iov_buffer_desc *iov, int iov_count)
     GSSAPI_LIB_FUNCTION     OM_uint32	  GSSAPI_LIB_CALL    gss_wrap_iov_length
	 (OM_uint32    *minor_status,	 gss_ctx_id_t	 context_handle,     int
	 conf_req_flag,  gss_qop_t qop_req, int *conf_state, gss_iov_buffer_desc
	 *iov, int iov_count)
     GSSAPI_LIB_FUNCTION   OM_uint32   GSSAPI_LIB_CALL	  gss_release_iov_buffer
	 (OM_uint32 *minor_status, gss_iov_buffer_desc *iov, int iov_count)
     GSSAPI_LIB_FUNCTION    OM_uint32	 GSSAPI_LIB_CALL   gss_canonicalize_name
	 (OM_uint32 *minor_status, gss_const_name_t  input_name,  const  gss_OID
	 mech_type, gss_name_t *output_name)
     GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_display_status (OM_uint32
	 *minor_status,  OM_uint32  status_value, int status_type, const gss_OID
	 mech_type, OM_uint32 *message_context, gss_buffer_t status_string)
     GSSAPI_LIB_FUNCTION OM_uint32  GSSAPI_LIB_CALL  gss_export_name  (OM_uint32
	 *minor_status, gss_const_name_t input_name, gss_buffer_t exported_name)
     GSSAPI_LIB_FUNCTION  OM_uint32  GSSAPI_LIB_CALL  gss_import_name (OM_uint32
	 *minor_status, const gss_buffer_t input_name_buffer, const gss_OID  in-
	 put_name_type, gss_name_t *output_name)
     GSSAPI_LIB_FUNCTION    OM_uint32	 GSSAPI_LIB_CALL    gss_init_sec_context
	 (OM_uint32  *minor_status,  gss_const_cred_id_t  initiator_cred_handle,
	 gss_ctx_id_t	*context_handle,   gss_const_name_t  target_name,  const
	 gss_OID input_mech_type, OM_uint32 req_flags, OM_uint32 time_req, const
	 gss_channel_bindings_t  input_chan_bindings,  const  gss_buffer_t   in-
	 put_token,   gss_OID	*actual_mech_type,   gss_buffer_t  output_token,
	 OM_uint32 *ret_flags, OM_uint32 *time_rec)
     GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_inquire_saslname_for_mech
	 (OM_uint32  *minor_status,  const  gss_OID  desired_mech,  gss_buffer_t
	 sasl_mech_name, gss_buffer_t mech_name, gss_buffer_t mech_description)
     GSSAPI_LIB_FUNCTION  OM_uint32  GSSAPI_LIB_CALL  gss_inquire_attrs_for_mech
	 (OM_uint32 *minor_status, gss_const_OID mech,	gss_OID_set  *mech_attr,
	 gss_OID_set *known_mech_attrs)
     GSSAPI_LIB_FUNCTION  int  GSSAPI_LIB_CALL	gss_oid_equal  (gss_const_OID a,
	 gss_const_OID b)
     GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL  gss_release_cred  (OM_uint32
	 *minor_status, gss_cred_id_t *cred_handle)
     GSSAPI_LIB_FUNCTION  OM_uint32  GSSAPI_LIB_CALL gss_release_name (OM_uint32
	 *minor_status, gss_name_t *input_name)
     GSSAPI_LIB_FUNCTION  OM_uint32  GSSAPI_LIB_CALL  gss_wrap	(OM_uint32  *mi-
	 nor_status,   gss_const_ctx_id_t   context_handle,  int  conf_req_flag,
	 gss_qop_t  qop_req,  const   gss_buffer_t   input_message_buffer,   int
	 *conf_state, gss_buffer_t output_message_buffer)

   Variables
     gss_OID_desc GSSAPI_LIB_FUNCTION __gss_c_attr_stream_sizes_oid_desc

Detailed Description
Function Documentation
   GSSAPI_LIB_FUNCTION	  OM_uint32    GSSAPI_LIB_CALL	  gss_add_oid_set_member
     (OM_uint32 * minor_status, const gss_OID member_oid, gss_OID_set * oid_set)

     Add a oid to the oid set, function does not make a copy of the oid, so  the
     pointer  to  member_oid  needs  to  be stable for the whole time oid_set is
     used.

     If there is a duplicate member of the oid, the new member is not  added  to
     to the set.

     Parameters
	 minor_status minor status code.
	 member_oid member to add to the oid set
	 oid_set oid set to add the member too

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION	  OM_uint32    GSSAPI_LIB_CALL	   gss_canonicalize_name
     (OM_uint32  *  minor_status,  gss_const_name_t  input_name,  const  gss_OID
     mech_type, gss_name_t * output_name)
     gss_canonicalize_name takes a Internal Name (IN) and  converts  in  into  a
     mechanism specific Mechanism Name (MN).

     The input name may multiple name, or generic name types.

     If  the input_name if of the GSS_C_NT_USER_NAME, and the Kerberos mechanism
     is specified, the resulting MN type is a GSS_KRB5_NT_PRINCIPAL_NAME.

     For more information about Internal names and mechanism names.

     Parameters
	 minor_status minor status code.
	 input_name name to covert, unchanged by gss_canonicalize_name().
	 mech_type the type to convert Name too.
	 output_name the resulting type, release with gss_release_name(),  inde-
	 pendent of input_name.

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_display_status (OM_uint32 *
     minor_status,  OM_uint32  status_value,  int  status_type,  const	 gss_OID
     mech_type, OM_uint32 * message_context, gss_buffer_t status_string)
     Convert a GSS-API status code to text

     Parameters
	 minor_status minor status code
	 status_value status value to convert
	 status_type One of: GSS_C_GSS_CODE - status_value is a GSS status code,
	 GSS_C_MECH_CODE - status_value is a mechanism status code
	 mech_type  underlying	mechanism. Use GSS_C_NO_OID to obtain the system
	 default.
	 message_context state information to extract further messages from  the
	 status_value
	 status_string	the  allocated text representation. Release with gss_re-
	 lease_buffer()

     Returns
	 a gss_error code.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL  gss_export_name  (OM_uint32  *
     minor_status, gss_const_name_t input_name, gss_buffer_t exported_name)
     Convert a GGS-API name from internal form to contiguous string.

     See also
	 gss_import_name(), Internal names and mechanism names.

     Parameters
	 minor_status minor status code
	 input_name input name in internal name form
	 exported_name output name in contiguos string form

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL  gss_import_name  (OM_uint32  *
     minor_status,  const  gss_buffer_t  input_name_buffer,  const  gss_OID  in-
     put_name_type, gss_name_t * output_name)
     Convert a GGS-API name from contiguous string to internal form.

     Type of name and their format:

     * GSS_C_NO_OID

     * GSS_C_NT_USER_NAME

     * GSS_C_NT_HOSTBASED_SERVICE

     * GSS_C_NT_EXPORT_NAME

     * GSS_C_NT_ANONYMOUS

     * GSS_KRB5_NT_PRINCIPAL_NAME

     See also
	 gss_export_name(), Internal names and mechanism names.

     Parameters
	 minor_status minor status code
	 input_name_buffer import name buffer
	 input_name_type type of the import name buffer
	 output_name the resulting type, release with gss_release_name(),  inde-
	 pendent of input_name

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_init_sec_context (OM_uint32
     * minor_status, gss_const_cred_id_t initiator_cred_handle,  gss_ctx_id_t  *
     context_handle,	gss_const_name_t    target_name,   const   gss_OID   in-
     put_mech_type, OM_uint32 req_flags,  OM_uint32  time_req,	const  gss_chan-
     nel_bindings_t input_chan_bindings, const gss_buffer_t input_token, gss_OID
     *	actual_mech_type,  gss_buffer_t  output_token,	OM_uint32  *  ret_flags,
     OM_uint32 * time_rec)
     As the initiator build a context with an acceptor.

     Returns in the major

     * GSS_S_COMPLETE - if the context if build

     * GSS_S_CONTINUE_NEEDED - if the caller needs to continue another round  of
       gss_i nit_sec_context

     * error code - any other error code

     Parameters
	 minor_status minor status code.
	 initiator_cred_handle	the credential to use when building the context,
	 if GSS_C_NO_CREDENTIAL is passed, the default credential for the mecha-
	 nism will be used.
	 context_handle a pointer to a context handle, will be returned as  long
	 as there is not an error.
	 target_name   the  target  name  of  acceptor,  created  using  gss_im-
	 port_name(). The name is can be of any name types  the  mechanism  sup-
	 ports, check supported name types with gss_inquire_names_for_mech().
	 input_mech_type  mechanism  type  to use, if GSS_C_NO_OID is used, Ker-
	 beros (GSS_KRB5_MECHANISM) will be tried. Other available mechanism are
	 listed in the GSS-API mechanisms section.
	 req_flags flags using when building the context, see  Context	creation
	 flags
	 time_req time requested this context should be valid in seconds, common
	 used value is GSS_C_INDEFINITE
	 input_chan_bindings  Channel bindings used, if not exepected otherwise,
	 used GSS_C_NO_CHANNEL_BINDINGS
	 input_token input token sent from the acceptor, for the initial  packet
	 the buffer of { NULL, 0 } should be used.
	 actual_mech_type  the	actual	mech  used,  MUST  NOT be freed since it
	 pointing to static memory.
	 output_token if there is an output token, regardless of complete,  con-
	 tinue_needed, or error it should be sent to the acceptor
	 ret_flags  return  what  flags  was negotitated, caller should check if
	 they are accetable. For example, if  GSS_C_MUTUAL_FLAG  was  negotiated
	 with the acceptor or not.
	 time_rec amount of time this context is valid for

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION	OM_uint32   GSSAPI_LIB_CALL   gss_inquire_attrs_for_mech
     (OM_uint32  *  minor_status,  gss_const_OID  mech, gss_OID_set * mech_attr,
     gss_OID_set * known_mech_attrs)
     List support attributes for a mech and/or all mechanisms.

     Parameters
	 minor_status minor status code
	 mech given together with mech_attr will return the list  of  attributes
	 for mechanism, can optionally be GSS_C_NO_OID.
	 mech_attr  see  mech  parameter,  can	optionally be NULL, release with
	 gss_release_oid_set().
	 known_mech_attrs all attributes for mechanisms supported, release  with
	 gss_release_oid_set().

   GSSAPI_LIB_FUNCTION	OM_uint32  GSSAPI_LIB_CALL gss_inquire_saslname_for_mech
     (OM_uint32  *  minor_status,  const  gss_OID   desired_mech,   gss_buffer_t
     sasl_mech_name, gss_buffer_t mech_name, gss_buffer_t mech_description)
     Returns different protocol names and description of the mechanism.

     Parameters
	 minor_status minor status code
	 desired_mech mech list query
	 sasl_mech_name SASL GS2 protocol name
	 mech_name gssapi protocol name
	 mech_description description of gssapi mech

     Returns
	 returns GSS_S_COMPLETE or a error code.

   GSSAPI_LIB_FUNCTION	 int  GSSAPI_LIB_CALL  gss_oid_equal  (gss_const_OID  a,
     gss_const_OID b)
     Compare two GSS-API OIDs with each other.

     GSS_C_NO_OID matches nothing, not even it-self.

     Parameters
	 a first oid to compare
	 b second oid to compare

     Returns
	 non-zero when both oid are the same OID, zero when  they  are	not  the
	 same.

   GSSAPI_LIB_FUNCTION	OM_uint32  GSSAPI_LIB_CALL gss_release_cred (OM_uint32 *
     minor_status, gss_cred_id_t * cred_handle)
     Release a credentials

     Its ok to release the GSS_C_NO_CREDENTIAL/NULL credential, it will return a
     GSS_S_COMPLETE error code. On return cred_handle is set ot GSS_C_NO_CREDEN-
     TIAL.

     Example:

     gss_cred_id_t cred = GSS_C_NO_CREDENTIAL;
     major = gss_release_cred(&minor, &cred);

     Parameters
	 minor_status minor status return code, mech specific
	 cred_handle a pointer to the credential too release

     Returns
	 an gssapi error code

   GSSAPI_LIB_FUNCTION	  OM_uint32    GSSAPI_LIB_CALL	  gss_release_iov_buffer
     (OM_uint32 * minor_status, gss_iov_buffer_desc * iov, int iov_count)
     Free  all buffer allocated by gss_wrap_iov() or gss_unwrap_iov() by looking
     at the GSS_IOV_BUFFER_FLAG_ALLOCATED flag.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_name  (OM_uint32  *
     minor_status, gss_name_t * input_name)
     Free a name

     import_name  can  point  to  NULL	or be NULL, or a pointer to a gss_name_t
     structure. If it was a pointer to gss_name_t, the pointer will  be  set  to
     NULL on success and failure.

     Parameters
	 minor_status minor status code
	 input_name name to free

     Returns
	 a  gss_error  code,  see  gss_display_status() about printing the error
	 code.

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_unwrap_iov (OM_uint32 * mi-
     nor_status, gss_ctx_id_t context_handle,  int  *  conf_state,  gss_qop_t  *
     qop_state, gss_iov_buffer_desc * iov, int iov_count)
     Decrypt or verifies the signature on the data.

   GSSAPI_LIB_FUNCTION	OM_uint32  GSSAPI_LIB_CALL  gss_wrap  (OM_uint32  *  mi-
     nor_status, gss_const_ctx_id_t context_handle, int conf_req_flag, gss_qop_t
     qop_req,  const  gss_buffer_t  input_message_buffer,  int	 *   conf_state,
     gss_buffer_t output_message_buffer)
     Wrap  a  message  using  either confidentiality (encryption + signature) or
     sealing (signature).

     Parameters
	 minor_status minor status code.
	 context_handle context handle.
	 conf_req_flag if non zero, confidentiality is requestd.
	 qop_req type of protection needed, in most cases  it  GSS_C_QOP_DEFAULT
	 should be passed in.
	 input_message_buffer messages to wrap
	 conf_state returns non zero if confidentiality was honoured.
	 output_message_buffer	 the  resulting  buffer,  release  with  gss_re-
	 lease_buffer().

   GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov (OM_uint32  *  mi-
     nor_status,   gss_ctx_id_t  context_handle,  int  conf_req_flag,  gss_qop_t
     qop_req, int * conf_state, gss_iov_buffer_desc * iov, int iov_count)
     Encrypts or sign the data.

     This is a more complicated version of gss_wrap(), it allows the  caller  to
     use AEAD data (signed header/trailer) and allow greater controll over where
     the encrypted data is placed.

     The maximum packet size is gss_context_stream_sizes.max_msg_size.

     The caller needs provide the folloing buffers when using in conf_req_flag=1
     mode:

     * HEADER  (of  size  gss_context_stream_sizes.header) { DATA or SIGN_ONLY }
       (optional, zero or more) PADDING (of size gss_context_stream_sizes.block-
       size, if zero padding is zero, can be omitted) TRAILER (of size	gss_con-
       text_stream_sizes.trailer)

     * on DCE-RPC mode, the caller can skip PADDING and TRAILER if the DATA ele-
       ments  is  padded  to  a  block	bountry  and  header is of at least size
       gss_context_stream_sizes.header + gss_context_stream_sizes.trailer.

     HEADER, PADDING, TRAILER will be shrunken to the size required to	transmit
     any of them too large.

     To  generate  gss_wrap() compatible packets, use: HEADER | DATA | PADDING |
     TRAILER

     When used in conf_req_flag=0,

     * HEADER (of size gss_context_stream_sizes.header) { DATA	or  SIGN_ONLY  }
       (optional, zero or more) PADDING (of size gss_context_stream_sizes.block-
       size,  if zero padding is zero, can be omitted) TRAILER (of size gss_con-
       text_stream_sizes.trailer)

     The input sizes of  HEADER,  PADDING  and	TRAILER  can  be  fetched  using
     gss_wrap_iov_length() or gss_context_query_attributes().

   GSSAPI_LIB_FUNCTION	OM_uint32 GSSAPI_LIB_CALL gss_wrap_iov_length (OM_uint32
     * minor_status, gss_ctx_id_t context_handle, int  conf_req_flag,  gss_qop_t
     qop_req, int * conf_state, gss_iov_buffer_desc * iov, int iov_count)
     Update the length fields in iov buffer for the types:

     * GSS_IOV_BUFFER_TYPE_HEADER

     * GSS_IOV_BUFFER_TYPE_PADDING

     * GSS_IOV_BUFFER_TYPE_TRAILER

     Consider using gss_context_query_attributes() to fetch the data instead.

Variable Documentation
   gss_OID_desc GSSAPI_LIB_FUNCTION __gss_c_attr_stream_sizes_oid_desc
     Initial value:

     =
	 {10, rk_UNCONST("a686)}

     Query the context for parameters.

     SSPI equivalent if this function is QueryContextAttributes.

     * GSS_C_ATTR_STREAM_SIZES data is a gss_context_stream_sizes.

Author
     Generated	automatically  by  Doxygen  for Heimdal GSS-API library from the
     source code.

Version 7.8.0			 Tue Nov 15 2022		       gssapi(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gss_init_sec_context&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help