cc [flag ...] file... -lgss [library ...] #include <gssapi/gssapi.h>
OM_uint32 gss_canonicalize_name(OM_uint32 *minor_status, const gss_name_t input_name, const gss_OID mech_type, gss_name_t *output_name);
The gss_canonicalize_name() function generates a canonical mechanism name from an arbitrary internal name. The mechanism name is the name that would be returned to a context acceptor on successful authentication of a context where the initiator used the input_name in a successful call to gss_acquire_cred(3GSS), specifying an OID set containing mech_type as its only member, followed by a call to gss_init_sec_context(3GSS), specifying mech_type as the authentication mechanism.
The parameter descriptions for gss_canonicalize_name() follow:
minor_status Mechanism-specific status code.
input_name The name for which a canonical form is desired.
mech_type The authentication mechanism for which the canonical form of the name is desired. The desired mechanism must be specified explicitly; no default is provided.
output_name The resultant canonical name. Storage associated with this name must be freed by the application after use with a call to gss_release_name(3GSS).
The gss_canonicalize_name() function may return the status codes:
GSS_S_COMPLETE Successful completion.
GSS_S_BAD_MECH The identified mechanism is not supported.
GSS_S_BAD_NAMETYPE The provided internal name contains no elements that could be processed by the specified mechanism.
GSS_S_BAD_NAME The provided internal name was ill-formed.
GSS_S_FAILURE The underlying mechanism detected an error for which no specific GSS status code is defined. The mechanism-specific status code reported by means of the minor_status parameter details the error condition.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
gss_acquire_cred(3GSS), gss_init_sec_context(3GSS), gss_release_name(3GSS), attributes(5)
Solaris Security for Developers Guide