Oracle® Solaris 11 セキュリティー開発者ガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

メッセージへの署名とメッセージの返送

この時点で、sign_server() 関数はメッセージに署名する必要があります。メッセージへの署名には、メッセージのメッセージ整合性コード (MIC) のクライアントへの返送が伴います。メッセージを返送することで、メッセージの送信とラップ解除が正常に完了したことをクライアントに証明できます。MIC を取得するために、sign_server() は関数 gss_get_mic() を使用します。

maj_stat = gss_get_mic(&min_stat, context, GSS_C_QOP_DEFAULT,
                            &msg_buf, &xmit_buf);

gss_get_mic() は、msg_buf 内のメッセージに基づいて MIC を生成し、その結果を xmit_buf に格納します。次に、サーバーは send_token() で MIC をクライアントに返送します。クライアントは、gss_verify_mic() でその MIC を検証します。Reading and Verifying a Signature Block From a GSS-API Clientを参照してください。

最後に、sign_server() はいくつかのクリーンアップを実行します。sign_server() は、gss_release_buffer() で GSS-API バッファーの msg_bufxmit_buf を解放します。続いて、sign_server() は、gss_delete_sec_context() でコンテキストを破棄します。