LINUX.ORG.RU

Сообщения acrap

 

Сохранение и повторное использование GSS secure context

Добрый день! Модифицирую libcurl для constrained delegation(krb5). Всё бы ничего, но каждый вызов curl приходится заново получать все токены. Для создания secure context(получение TGS тикета) вызываю метод gss_init_secure_context. Что делать в случае, когда контекст уже был проинициализирован ранее, можно его как-то использовать повторно? Пробовал сохранять initiator_context и output_token, но обойтись без вызова gss_init_secure_context не могу, ибо не работает (со старыми initiator_context, output_token). Что я упускаю?

OM_uint32 Curl_gss_init_sec_context_kcd(struct SessionHandle *data,
    OM_uint32* minor, gss_ctx_id_t *initiator_context,
    gss_name_t target_server_spn_unused, gss_OID mech_unused,
    gss_channel_bindings_t input_chan_bindings, gss_buffer_t input_token,
    gss_buffer_t output_token, const bool mutual_auth,
    OM_uint32 *ret_flags)
{
.../* много кода*/
major = gss_init_sec_context (minor, delegated_cred_handle,
                                  initiator_context, target, &mech_krb5,
                                  GSS_C_REPLAY_FLAG | GSS_C_SEQUENCE_FLAG,
                                  GSS_C_INDEFINITE, input_chan_bindings,
                                  GSS_C_NO_BUFFER/*input_token*/,
                                  NULL, output_token, ret_flags, &time_rec);

 ,

acrap
()

RSS подписка на новые темы