EN JA
GSS_WRAP(3)
GSS_WRAP(3) Programmer's Manual GSS_WRAP(3)

名称

gss_wrap, gss_seal暗号の MIC にアタッチし、オプションでメッセージを暗号化する

書式

#include < gssapi/gssapi.h>

OM_uint32
gss_wrap( OM_uint32 *minor_status, const gss_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);

OM_uint32
gss_seal( OM_uint32 *minor_status, gss_ctx_id_t context_handle, int conf_req_flag, gss_qop_t qop_req, gss_buffer_t input_message_buffer, int *conf_state, gss_buffer_t output_message_buffer);

解説

暗号の MIC にアタッチし、オプションで指定された input_message を暗号化します。 output_message は、MIC とメッセージの両方を含んでいます。選択されたメカニズムによってサポートされるなら、 qop_req パラメータによって、いくつかの暗号のアルゴリズムを選択することができます。

いくつかのアプリケーションレベルのプロトコルが "secure framing" (安全なフレーミング) を提供するために gss_wrap() によって出力されたトークンを使用したいので、実装は、0 の長さのメッセージの折り畳みをサポートしなければなりません。

gss_seal() ルーチンは、 gss_wrap() の古い変異型です。 GSS-API V1 インタフェースを使用するアプリケーションで後方互換性のために提供されています。 GSS-API V1 アプリケーションにリンクでき、このルーチンの古いバージョンと現在の形式との間のわずかなパラメータタイプの差分を保有できる、(#define と対照的に) 異なったエントリポイントが提供されます。

パラメータ

minor_status
メカニズム特有のステータスコード。
context_handle
メッセージが送信されるコンテキストを識別します。
conf_req_flag
Non-zero
秘密性と整合性サービスの両方が要求されます。
Zero
整合性サービスだけが要求されます。
qop_req
プロテクションの必要な品質を指定します。メカニズム特有のデフォルトは、 GSS_C_QOP_DEFAULT に qop_req を設定することによって、要求されます。サポートされないプロテクションの強さが要求されるなら、 gss_wrap() は、 GSS_S_BAD_QOP の major_status を返します。
input_message_buffer
保護されるメッセージ。
conf_state
Non-zero
秘密性、データ発生源の認証と整合性サービスが適用されました。
Zero
整合性とデータ発生源のサービスだけが適用されました。
output_message_buffer
保護されたメッセージを受信するバッファ。このバッファに関連している記憶域は、 gss_release_buffer(3) への呼び出しで使用した後に解放されなければなりません。

戻り値

GSS_S_COMPLETE
成功して終了した
GSS_S_CONTEXT_EXPIRED
コンテキストは既に期限が切れました
GSS_S_NO_CONTEXT
context_handle パラメータは、有効なコンテキストを識別しませんでした。
GSS_S_BAD_QOP
指定された QOP は、メカニズムによってサポートされません。

規格

RFC 2743
Generic Security Service Application Program Interface Version 2, Update 1
RFC 2744
Generic Security Service API Version 2 : C-bindings

歴史

gss_wrap のマニュアルページは、 FreeBSD 7.0 ではじめて登場しました。

作者

John Wray, Iris Associates

COPYRIGHT

Copyright (C) The Internet Society (2000). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

January 26, 2010 FreeBSD