📄 rfc1508.txt
字号:
o input_context_handle INTEGER, -0 specifies "none assigned yet" o targ_name INTERNAL NAME, o mech_type OBJECT IDENTIFIER, -NULL parameter specifies "use default" o deleg_req_flag BOOLEAN,Linn [Page 21]RFC 1508 Generic Security Interface September 1993 o mutual_req_flag BOOLEAN, o replay_det_req_flag BOOLEAN, o sequence_req_flag BOOLEAN, o lifetime_req INTEGER,-0 specifies default lifetime o chan_bindings OCTET STRING, o input_token OCTET STRING-NULL or token received from target Outputs: o major_status INTEGER, o minor_status INTEGER, o output_context_handle INTEGER, o mech_type OBJECT IDENTIFIER, -actual mechanism always indicated, never NULL o output_token OCTET STRING, -NULL or token to pass to context target o deleg_state BOOLEAN, o mutual_state BOOLEAN, o replay_det_state BOOLEAN, o sequence_state BOOLEAN, o conf_avail BOOLEAN, o integ_avail BOOLEAN, o lifetime_rec INTEGER - in seconds, or reserved value for INDEFINITE This call may block pending network interactions for those mech_types in which an authentication server or other network entity must be consulted on behalf of a context initiator in order to generate an output_token suitable for presentation to a specified target. Return major_status codes:Linn [Page 22]RFC 1508 Generic Security Interface September 1993 o GSS_COMPLETE indicates that context-level information was successfully initialized, and that the returned output_token will provide sufficient information for the target to perform per- message processing on the newly-established context. o GSS_CONTINUE_NEEDED indicates that control information in the returned output_token must be sent to the target, and that a reply must be received and passed as the input_token argument to a continuation call to GSS_Init_sec_context(), before per-message processing can be performed in conjunction with this context. o GSS_DEFECTIVE_TOKEN indicates that consistency checks performed on the input_token failed, preventing further processing from being performed based on that token. o GSS_DEFECTIVE_CREDENTIAL indicates that consistency checks performed on the credential structure referenced by claimant_cred_handle failed, preventing further processing from being performed using that credential structure. o GSS_BAD_SIG indicates that the received input_token contains an incorrect signature, so context setup cannot be accomplished. o GSS_NO_CRED indicates that no context was established, either because the input cred_handle was invalid, because the referenced credentials are valid for context acceptor use only, or because the caller lacks authorization to access the referenced credentials. o GSS_CREDENTIALS_EXPIRED indicates that the credentials provided through the input claimant_cred_handle argument are no longer valid, so context establishment cannot be completed. o GSS_BAD_BINDINGS indicates that a mismatch between the caller- provided chan_bindings and those extracted from the input_token was detected, signifying a security-relevant event and preventing context establishment. (This result will be returned by GSS_Init_sec_context only for contexts where mutual_state is TRUE.) o GSS_NO_CONTEXT indicates that no valid context was recognized for the input context_handle provided; this major status will be returned only for successor calls following GSS_CONTINUE_NEEDED status returns. o GSS_BAD_NAMETYPE indicates that the provided targ_name is of a type uninterpretable or unsupported by the supporting GSS-API implementation, so context establishment cannot be completed.Linn [Page 23]RFC 1508 Generic Security Interface September 1993 o GSS_BAD_NAME indicates that the provided targ_name is inconsistent in terms of internally-incorporated type specifier information, so context establishment cannot be accomplished. o GSS_FAILURE indicates that context setup could not be accomplished for reasons unspecified at the GSS-API level, and that no interface-defined recovery action is available. This routine is used by a context initiator, and ordinarily emits one (or, for the case of a multi-step exchange, more than one) output_token suitable for use by the target within the selected mech_type's protocol. Using information in the credentials structure referenced by claimant_cred_handle, GSS_Init_sec_context() initializes the data structures required to establish a security context with target targ_name. The claimant_cred_handle must correspond to the same valid credentials structure on the initial call to GSS_Init_sec_context() and on any successor calls resulting from GSS_CONTINUE_NEEDED status returns; different protocol sequences modeled by the GSS_CONTINUE_NEEDED mechanism will require access to credentials at different points in the context establishment sequence. The input_context_handle argument is 0, specifying "not yet assigned", on the first GSS_Init_sec_context() call relating to a given context. That call returns an output_context_handle for future references to this context. When continuation attempts to GSS_Init_sec_context() are needed to perform context establishment, the previously-returned non-zero handle value is entered into the input_context_handle argument and will be echoed in the returned output_context_handle argument. On such continuation attempts (and only on continuation attempts) the input_token value is used, to provide the token returned from the context's target. The chan_bindings argument is used by the caller to provide information binding the security context to security-related characteristics (e.g., addresses, cryptographic keys) of the underlying communications channel. See Section 1.1.6 of this document for more discussion of this argument's usage. The input_token argument contains a message received from the target, and is significant only on a call to GSS_Init_sec_context() which follows a previous return indicating GSS_CONTINUE_NEEDED major_status. It is the caller's responsibility to establish a communications path to the target, and to transmit any returned output_token (independent of the accompanying returned major_status value) to the target over that path. The output_token can, however, be transmitted along withLinn [Page 24]RFC 1508 Generic Security Interface September 1993 the first application-provided input message to be processed by GSS_Sign() or GSS_Seal() in conjunction with a successfully- established context. The initiator may request various context-level functions through input flags: the deleg_req_flag requests delegation of access rights, the mutual_req_flag requests mutual authentication, the replay_det_req_flag requests that replay detection features be applied to messages transferred on the established context, and the sequence_req_flag requests that sequencing be enforced. (See Section 1.2.3 for more information on replay detection and sequencing features.) Not all of the optionally-requestable features will be available in all underlying mech_types; the corresponding return state values (deleg_state, mutual_state, replay_det_state, sequence_state) indicate, as a function of mech_type processing capabilities and initiator-provided input flags, the set of features which will be active on the context. These state indicators' values are undefined unless the routine's major_status indicates COMPLETE. Failure to provide the precise set of features requested by the caller does not cause context establishment to fail; it is the caller's prerogative to delete the context if the feature set provided is unsuitable for the caller's use. The returned mech_type value indicates the specific mechanism employed on the context, and will never indicate the value for "default". The conf_avail return value indicates whether the context supports per-message confidentiality services, and so informs the caller whether or not a request for encryption through the conf_req_flag input to GSS_Seal() can be honored. In similar fashion, the integ_avail return value indicates whether per-message integrity services are available (through either GSS_Sign() or GSS_Seal()) on the established context. The lifetime_req input specifies a desired upper bound for the lifetime of the context to be established, with a value of 0 used to request a default lifetime. The lifetime_rec return value indicates the length of time for which the context will be valid, expressed as an offset from the present; depending on mechanism capabilities, credential lifetimes, and local policy, it may not correspond to the value requested in lifetime_req. If no constraints on context lifetime are imposed, this may be indicated by returning a reserved value representing INDEFINITE lifetime_req. The values of conf_avail, integ_avail, and lifetime_rec are undefined unless the routine's major_status indicates COMPLETE. If the mutual_state is TRUE, this fact will be reflected within theLinn [Page 25]RFC 1508 Generic Security Interface September 1993 output_token. A call to GSS_Accept_sec_context() at the target in conjunction with such a context will return a token, to be processed by a continuation call to GSS_Init_sec_context(), in order to achieve mutual authentication.2.2.2. GSS_Accept_sec_context call Inputs: o acceptor_cred_handle OCTET STRING,-NULL specifies "use default" o input_context_handle INTEGER, -0 specifies "not yet assigned" o chan_bindings OCTET STRING, o input_token OCTET STRING Outputs: o major_status INTEGER, o minor_status INTEGER, o src_name INTERNAL NAME, o mech_type OBJECT IDENTIFIER, o output_context_handle INTEGER, o deleg_state BOOLEAN, o mutual_state BOOLEAN, o replay_det_state BOOLEAN, o sequence_state BOOLEAN, o conf_avail BOOLEAN, o integ_avail BOOLEAN, o lifetime_rec INTEGER, - in seconds, or reserved value for INDEFINITE o delegated_cred_handle OCTET STRI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -