/* Read a MIC token from stdin and verify that it is for "usermic". */ static void read_mic_token(gss_ctx_id_t ctx) { OM_uint32 major, minor; gss_buffer_desc mic, buf; read_data(STDIN_FILENO, &mic.value, &mic.length); buf.value = "usermic"; buf.length = 7; major = krb5_gss_verify_mic(&minor, ctx, &buf, &mic, NULL); check(major, minor, "krb5_gss_verify_mic"); free(mic.value); }
OM_uint32 KRB5_CALLCONV iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle, gss_buffer_t msg_buffer, gss_buffer_t token_buffer, gss_qop_t *qop_state) { iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle; if (ctx->gssc == GSS_C_NO_CONTEXT) return GSS_S_NO_CONTEXT; return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer, token_buffer, qop_state); }