(gss_ctx_id_t, modify) Context handle identifying
the context to transfer.
(buffer, opaque, modify) Token to be
transferred to target process. Storage associated with this
token must be freed by the application after use with a call to
Provided to support the sharing of work between multiple processes.
This routine will typically be used by the context-acceptor, in an
application where a single process receives incoming connection
requests and accepts security contexts over them, then passes the
established context to one or more other processes for message
exchange. gss_export_sec_context() deactivates the security context
for the calling process and creates an interprocess token which,
when passed to gss_import_sec_context in another process, will
re-activate the context in the second process. Only a single
instantiation of a given context may be active at any one time; a
subsequent attempt by a context exporter to access the exported
security context will fail.
The implementation may constrain the set of processes by which the
interprocess token may be imported, either as a function of local
security policy, or as a result of implementation decisions. For
example, some implementations may constrain contexts to be passed
only between processes that run under the same account, or which
are part of the same process group.
The interprocess token may contain security-sensitive information
(for example cryptographic keys). While mechanisms are encouraged
to either avoid placing such sensitive information within
interprocess tokens, or to encrypt the token before returning it to
the application, in a typical object-library GSS-API implementation
this may not be possible. Thus the application must take care to
protect the interprocess token, and ensure that any process to
which the token is transferred is trustworthy.
If creation of the interprocess token is successful, the
implementation shall deallocate all process-wide resources
associated with the security context, and set the context_handle to
GSS_C_NO_CONTEXT. In the event of an error that makes it
impossible to complete the export of the security context, the
implementation must not return an interprocess token, and should
strive to leave the security context referenced by the
context_handle parameter untouched. If this is impossible, it is
permissible for the implementation to delete the security context,
providing it also sets the context_handle parameter to
`GSS_S_COMPLETE`: Successful completion.
`GSS_S_CONTEXT_EXPIRED`: The context has expired.
`GSS_S_NO_CONTEXT`: The context was invalid.
`GSS_S_UNAVAILABLE`: The operation is not supported.